MENU navbar-image

Introduction

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

Base URL

http://localhost

Authenticating requests

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

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

You can retrieve your token by use and point "User Authentication > Get User Authentication Token".

Amenities Default

Amenities Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/amenities/details/4e7bcc0f-439e-31b1-b70a-a83b52647540" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/amenities/details/4e7bcc0f-439e-31b1-b70a-a83b52647540"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/amenities/details/4e7bcc0f-439e-31b1-b70a-a83b52647540';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Amenities Detail",
    "data": {
        "id": "d2185b19-eddc-44ac-86d0-59aeefbfdaee",
        "name": "Air conditioning",
        "description": "Air conditioning",
        "category": {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        }
    }
}
 

Request   

GET api/v1/master/amenities/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Amenities. Example: 4e7bcc0f-439e-31b1-b70a-a83b52647540

Amenities Datatables

Example request:
curl --request POST \
    "http://localhost/api/v1/master/amenities/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/amenities/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/amenities/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 173,
    "recordsFiltered": 173,
    "data": [
        {
            "id": "30e404b3-f8af-4401-9a92-7dcc7f9c9e48",
            "name": "Adapter",
            "description": "Adapter",
            "category_name": "Room Amenities",
            "category_id": "ffed46c7-290c-4dcf-a608-4cfaa423560e"
        },
        {
            "id": "d2185b19-eddc-44ac-86d0-59aeefbfdaee",
            "name": "Air conditioning",
            "description": "Air conditioning",
            "category_name": "Room Amenities",
            "category_id": "ffed46c7-290c-4dcf-a608-4cfaa423560e"
        },
        {
            "id": "2d580e6e-7376-43bc-be53-6b39181fc0a8",
            "name": "Air conditioning single room",
            "description": "Air conditioning single room",
            "category_name": "Room Amenities",
            "category_id": "ffed46c7-290c-4dcf-a608-4cfaa423560e"
        }
    ]
}
 

Request   

POST api/v1/master/amenities/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Amenities

Example request:
curl --request POST \
    "http://localhost/api/v1/master/amenities" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"non\",
    \"name\": \"itaque\",
    \"description\": \"Ipsum iste possimus perspiciatis nihil aut sit.\"
}"
const url = new URL(
    "http://localhost/api/v1/master/amenities"
);

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

let body = {
    "property_id": "non",
    "name": "itaque",
    "description": "Ipsum iste possimus perspiciatis nihil aut sit."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/amenities';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'non',
            'name' => 'itaque',
            'description' => 'Ipsum iste possimus perspiciatis nihil aut sit.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Amenities Data",
    "data": {
        "id": "8c491bb9-c8d3-4477-841e-bc9a37178d78",
        "name": "amenities test udpate",
        "description": "test amenities data udpate",
        "category": {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        }
    }
}
 

Request   

POST api/v1/master/amenities

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: non

name   string     

Name of Amenities Example: itaque

description   string     

Description of Amenities Example: Ipsum iste possimus perspiciatis nihil aut sit.

Remove Amenities

Example request:
curl --request POST \
    "http://localhost/api/v1/master/amenities/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"omnis\"
}"
const url = new URL(
    "http://localhost/api/v1/master/amenities/remove"
);

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

let body = {
    "id": "omnis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/amenities/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Amenities",
    "data": []
}
 

Request   

POST api/v1/master/amenities/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Amenities Example: omnis

Option Amenities Input

Example request:
curl --request POST \
    "http://localhost/api/v1/master/amenities/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"category\"
}"
const url = new URL(
    "http://localhost/api/v1/master/amenities/dropdown/list"
);

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

let body = {
    "mode": "category"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/amenities/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'category',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/master/amenities/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: category

Must be one of:
  • category

Backoffice AP Report

AP Aging List Data

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/aging-list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"animi\",
    \"reference_no\": \"dolores\",
    \"start_date\": \"quis\",
    \"end_date\": \"in\",
    \"page_no\": 13
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/aging-list"
);

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

let body = {
    "property_id": "animi",
    "reference_no": "dolores",
    "start_date": "quis",
    "end_date": "in",
    "page_no": 13
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/aging-list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'animi',
            'reference_no' => 'dolores',
            'start_date' => 'quis',
            'end_date' => 'in',
            'page_no' => 13,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/account-payable/aging-list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: animi

reference_no   string  optional    

no of refrence trx Example: dolores

start_date   string  optional    

start date of date find type format Y-m-d. Example: quis

end_date   string  optional    

end date of date find type format Y-m-d. Example: in

page_no   integer  optional    

number of pagination Example: 13

Option AP Payment

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/payment/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quia\",
    \"mode\": \"ap_aging_list\",
    \"reference_no\": \"dolor\",
    \"start_date\": \"quam\",
    \"end_date\": \"omnis\",
    \"page_no\": 4,
    \"list_current_reconcile\": \"provident\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/payment/dropdownoptionlist"
);

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

let body = {
    "property_id": "quia",
    "mode": "ap_aging_list",
    "reference_no": "dolor",
    "start_date": "quam",
    "end_date": "omnis",
    "page_no": 4,
    "list_current_reconcile": "provident"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/payment/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quia',
            'mode' => 'ap_aging_list',
            'reference_no' => 'dolor',
            'start_date' => 'quam',
            'end_date' => 'omnis',
            'page_no' => 4,
            'list_current_reconcile' => 'provident',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List user Created",
    "data": [
        {
            "key": "0ad093e6-3587-4257-a118-0d6265d3347c",
            "label": "Master User Api"
        }
    ]
}
 

Request   

POST api/v1/property/backoffice/account-payable/payment/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quia

mode   string  optional    

The language. Example: ap_aging_list

Must be one of:
  • ap_aging_list
reference_no   string  optional    

no of refrence trx Example: dolor

start_date   string  optional    

start date of date find type format Y-m-d. Example: quam

end_date   string  optional    

end date of date find type format Y-m-d. Example: omnis

page_no   integer  optional    

number of pagination Example: 4

list_current_reconcile   array.  optional    

Example: provident

Remove AP payment

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/payment/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"aut\",
    \"ap_payment_id\": \"in\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/payment/remove"
);

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

let body = {
    "property_id": "aut",
    "ap_payment_id": "in"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/payment/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'aut',
            'ap_payment_id' => 'in',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/property/backoffice/account-payable/payment/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: aut

ap_payment_id   string     

uuid of Trx Property Ap Payment Example: in

Ap payment List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/payment/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"accusantium\",
    \"reference_no\": \"nam\",
    \"start_date\": \"fugit\",
    \"end_date\": \"veritatis\",
    \"page_no\": 4
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/payment/list"
);

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

let body = {
    "property_id": "accusantium",
    "reference_no": "nam",
    "start_date": "fugit",
    "end_date": "veritatis",
    "page_no": 4
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/payment/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'accusantium',
            'reference_no' => 'nam',
            'start_date' => 'fugit',
            'end_date' => 'veritatis',
            'page_no' => 4,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/account-payable/payment/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: accusantium

reference_no   string  optional    

no of refrence trx Example: nam

start_date   string  optional    

start date of date find type format Y-m-d. Example: fugit

end_date   string  optional    

end date of date find type format Y-m-d. Example: veritatis

page_no   integer  optional    

number of pagination Example: 4

Add AP Journal Manual

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/journal/manual" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"remark\": \"non\",
    \"trx_date\": \"minus\",
    \"list_journal\": \"enim\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/journal/manual"
);

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

let body = {
    "property_id": "et",
    "remark": "non",
    "trx_date": "minus",
    "list_journal": "enim"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/journal/manual';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'remark' => 'non',
            'trx_date' => 'minus',
            'list_journal' => 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/property/backoffice/account-payable/journal/manual

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: et

remark   string     

remark of AP Payment Example: non

trx_date   string  optional    

start date of date find type format Y-m-d. Example: minus

list_journal   array.  optional    

Example: enim

Option AP Payment

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/journal/manual/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"officia\",
    \"mode\": \"coa\",
    \"coa_search\": \"itaque\",
    \"default_value\": \"quidem\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/journal/manual/dropdownoptionlist"
);

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

let body = {
    "property_id": "officia",
    "mode": "coa",
    "coa_search": "itaque",
    "default_value": "quidem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/journal/manual/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'officia',
            'mode' => 'coa',
            'coa_search' => 'itaque',
            'default_value' => 'quidem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List user Created",
    "data": [
        {
            "key": "0ad093e6-3587-4257-a118-0d6265d3347c",
            "label": "Master User Api"
        }
    ]
}
 

Request   

POST api/v1/property/backoffice/account-payable/journal/manual/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: officia

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
  • journal_type
coa_search   string     

name of coa finding Example: itaque

default_value   string     

name of coa default value Example: quidem

AP Journal List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-payable/journal/manual/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"totam\",
    \"start_date\": \"optio\",
    \"end_date\": \"et\",
    \"page_no\": 11
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-payable/journal/manual/list"
);

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

let body = {
    "property_id": "totam",
    "start_date": "optio",
    "end_date": "et",
    "page_no": 11
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-payable/journal/manual/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'totam',
            'start_date' => 'optio',
            'end_date' => 'et',
            'page_no' => 11,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/account-payable/journal/manual/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: totam

start_date   string  optional    

start date of date find type format Y-m-d. Example: optio

end_date   string  optional    

end date of date find type format Y-m-d. Example: et

page_no   integer  optional    

number of pagination Example: 11

Backoffice Ar Report

Ar Aging List Data

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/aging-list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"corporis\",
    \"reference_no\": \"mollitia\",
    \"start_date\": \"veniam\",
    \"end_date\": \"et\",
    \"page_no\": 2
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/aging-list"
);

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

let body = {
    "property_id": "corporis",
    "reference_no": "mollitia",
    "start_date": "veniam",
    "end_date": "et",
    "page_no": 2
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/aging-list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'corporis',
            'reference_no' => 'mollitia',
            'start_date' => 'veniam',
            'end_date' => 'et',
            'page_no' => 2,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get AR Report List",
    "data": {
        "record": [
            {
                "id": "984871ae-59f6-4613-8e32-86c656244da6",
                "property": {
                    "id": "65c5c446-abbe-46ee-aa28-253cc9b680a8",
                    "name": "Hotel Dummy"
                },
                "trx_type": {
                    "id": "68691665-adf8-42e7-b4a3-6900434eaf29",
                    "name": "Account Receivable",
                    "code": "AR"
                },
                "reference_no": "TRXAR-20241100001",
                "trx_date": "2024-11-13 10:53:09",
                "remark": "Booking Payment : BOOKPAY-202411/00001",
                "is_reconcile": false,
                "total_debit": 100000,
                "total_credit": 100000,
                "total_balance": 0,
                "user_created": {
                    "id": "facddbf2-4010-455c-8176-1b04c897cec0",
                    "name": "Master User Api"
                },
                "user_updated": [],
                "created_at": "2024-11-13T03:02:05.000000Z",
                "updated_at": "2024-11-13T03:02:05.000000Z",
                "journal_list": [
                    {
                        "id": "ef1cb9b9-6bdb-45cb-bb56-1d6f37aa6b4e",
                        "coa": {
                            "id": "355fccc2-2f25-4a95-a01d-126ff28049c8",
                            "name": "A/R DEBIT",
                            "code": "120-00-006"
                        },
                        "ref": {
                            "refrence_type": "booking-payment",
                            "id": "42a5b4ed-569d-40f4-9a0e-6a3ce5386341",
                            "booking_id": "2cea54b4-038b-4818-95de-b7307577d684",
                            "booking_room_id": "b6fcbb09-51a6-4682-a483-8094f6c919c9",
                            "payment_option_id": "cf82a5b9-bbc3-412e-9b54-7cc142e9775d",
                            "booking_payment_no": "BOOKPAY-202411/00001",
                            "payment_date": "2024-11-13 10:53:09",
                            "amount": 100000,
                            "remark": "test payment",
                            "created_at": "2024-11-13T02:54:57.000000Z",
                            "updated_at": "2024-11-13T03:02:05.000000Z",
                            "created_user_id": null,
                            "updated_user_id": null,
                            "is_close_trx": true
                        },
                        "remark": "BOOKPAY-202411/00001 | Debit Cards",
                        "amount": 100000,
                        "journal_type": {
                            "key": "1",
                            "label": "Debit"
                        }
                    },
                    {
                        "id": "33427e44-ed40-42b3-a905-2e0602a49b43",
                        "coa": {
                            "id": "99869b2c-d662-40aa-8533-d5dd053886d7",
                            "name": "A/R BCA Card",
                            "code": "120-00-005"
                        },
                        "ref": {
                            "refrence_type": "booking-payment-methods",
                            "id": "b28f36c6-58d4-4d58-ab60-f1b5168721be",
                            "booking_payment_id": "42a5b4ed-569d-40f4-9a0e-6a3ce5386341",
                            "payment_option_method_id": null,
                            "amount": 100000,
                            "remark": null,
                            "created_at": "2024-11-13T02:54:57.000000Z",
                            "updated_at": "2024-11-13T02:54:57.000000Z"
                        },
                        "remark": "BOOKPAY-202411/00001 | Pay Methods :BCA",
                        "amount": 100000,
                        "journal_type": {
                            "key": "2",
                            "label": "Credit"
                        }
                    }
                ]
            }
        ],
        "total_page": 1,
        "current_page": 1
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/account-receivable/aging-list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: corporis

reference_no   string  optional    

no of refrence trx Example: mollitia

start_date   string  optional    

start date of date find type format Y-m-d. Example: veniam

end_date   string  optional    

end date of date find type format Y-m-d. Example: et

page_no   integer  optional    

number of pagination Example: 2

Option AR Payment

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/payment/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"qui\",
    \"mode\": \"ar_aging_list\",
    \"reference_no\": \"dignissimos\",
    \"start_date\": \"facere\",
    \"end_date\": \"corporis\",
    \"page_no\": 8,
    \"list_current_reconcile\": \"autem\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/payment/dropdownoptionlist"
);

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

let body = {
    "property_id": "qui",
    "mode": "ar_aging_list",
    "reference_no": "dignissimos",
    "start_date": "facere",
    "end_date": "corporis",
    "page_no": 8,
    "list_current_reconcile": "autem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/payment/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'qui',
            'mode' => 'ar_aging_list',
            'reference_no' => 'dignissimos',
            'start_date' => 'facere',
            'end_date' => 'corporis',
            'page_no' => 8,
            'list_current_reconcile' => 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List user Created",
    "data": [
        {
            "key": "0ad093e6-3587-4257-a118-0d6265d3347c",
            "label": "Master User Api"
        }
    ]
}
 

Request   

POST api/v1/property/backoffice/account-receivable/payment/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: qui

mode   string  optional    

The language. Example: ar_aging_list

Must be one of:
  • ar_aging_list
reference_no   string  optional    

no of refrence trx Example: dignissimos

start_date   string  optional    

start date of date find type format Y-m-d. Example: facere

end_date   string  optional    

end date of date find type format Y-m-d. Example: corporis

page_no   integer  optional    

number of pagination Example: 8

list_current_reconcile   array.  optional    

Example: autem

Remove AR payment

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/payment/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"nostrum\",
    \"ar_payment_id\": \"cumque\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/payment/remove"
);

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

let body = {
    "property_id": "nostrum",
    "ar_payment_id": "cumque"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/payment/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'nostrum',
            'ar_payment_id' => 'cumque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/property/backoffice/account-receivable/payment/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: nostrum

ar_payment_id   string     

uuid of Trx Property Ar Payment Example: cumque

Ar payment List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/payment/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"repellat\",
    \"reference_no\": \"iusto\",
    \"start_date\": \"quod\",
    \"end_date\": \"laudantium\",
    \"page_no\": 1
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/payment/list"
);

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

let body = {
    "property_id": "repellat",
    "reference_no": "iusto",
    "start_date": "quod",
    "end_date": "laudantium",
    "page_no": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/payment/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'repellat',
            'reference_no' => 'iusto',
            'start_date' => 'quod',
            'end_date' => 'laudantium',
            'page_no' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/account-receivable/payment/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: repellat

reference_no   string  optional    

no of refrence trx Example: iusto

start_date   string  optional    

start date of date find type format Y-m-d. Example: quod

end_date   string  optional    

end date of date find type format Y-m-d. Example: laudantium

page_no   integer  optional    

number of pagination Example: 1

Add AR Journal Manual

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/journal/manual" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sequi\",
    \"remark\": \"cumque\",
    \"trx_date\": \"mollitia\",
    \"list_journal\": \"sapiente\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/journal/manual"
);

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

let body = {
    "property_id": "sequi",
    "remark": "cumque",
    "trx_date": "mollitia",
    "list_journal": "sapiente"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/journal/manual';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sequi',
            'remark' => 'cumque',
            'trx_date' => 'mollitia',
            'list_journal' => 'sapiente',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/property/backoffice/account-receivable/journal/manual

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: sequi

remark   string     

remark of AR Payment Example: cumque

trx_date   string  optional    

start date of date find type format Y-m-d. Example: mollitia

list_journal   array.  optional    

Example: sapiente

Option AR Payment

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/journal/manual/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sint\",
    \"mode\": \"coa\",
    \"coa_search\": \"quas\",
    \"default_value\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/journal/manual/dropdownoptionlist"
);

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

let body = {
    "property_id": "sint",
    "mode": "coa",
    "coa_search": "quas",
    "default_value": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/journal/manual/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sint',
            'mode' => 'coa',
            'coa_search' => 'quas',
            'default_value' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List user Created",
    "data": [
        {
            "key": "0ad093e6-3587-4257-a118-0d6265d3347c",
            "label": "Master User Api"
        }
    ]
}
 

Request   

POST api/v1/property/backoffice/account-receivable/journal/manual/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: sint

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
  • journal_type
coa_search   string     

name of coa finding Example: quas

default_value   string     

name of coa default value Example: aut

Ar Journal List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/account-receivable/journal/manual/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"veritatis\",
    \"start_date\": \"harum\",
    \"end_date\": \"itaque\",
    \"page_no\": 19
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/account-receivable/journal/manual/list"
);

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

let body = {
    "property_id": "veritatis",
    "start_date": "harum",
    "end_date": "itaque",
    "page_no": 19
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/account-receivable/journal/manual/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'veritatis',
            'start_date' => 'harum',
            'end_date' => 'itaque',
            'page_no' => 19,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/account-receivable/journal/manual/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: veritatis

start_date   string  optional    

start date of date find type format Y-m-d. Example: harum

end_date   string  optional    

end date of date find type format Y-m-d. Example: itaque

page_no   integer  optional    

number of pagination Example: 19

Backoffice Bill Type Coa

Bill Type Coa Details

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/bill-type-coa/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"maxime\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/bill-type-coa/detail"
);

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

let body = {
    "property_id": "maxime"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/bill-type-coa/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'maxime',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Bill Type detail",
    "data": [
        {
            "id": "5007a8bf-a2eb-4254-abd7-6f1417074cfb",
            "name": "Room Charge",
            "property_id": "95234a2e-68a5-499f-b174-bf7fda22c1c2",
            "coa_id": null,
            "is_active": false
        },
        {
            "id": "acf9d3eb-685b-4009-8735-dd772be8c422",
            "name": "Extra Charge",
            "property_id": "95234a2e-68a5-499f-b174-bf7fda22c1c2",
            "coa_id": null,
            "is_active": false
        },
        {
            "id": "11199edd-374b-45f7-9565-69623d1d5659",
            "name": "Others",
            "property_id": "95234a2e-68a5-499f-b174-bf7fda22c1c2",
            "coa_id": null,
            "is_active": false
        }
    ]
}
 

Request   

POST api/v1/backoffice/bill-type-coa/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Bill Type Example: maxime

Update Bill Type COA

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/bill-type-coa" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"list_bill_type\": [
        {
            \"id\": \"5007a8bf-a2eb-4254-abd7-6f1417074cfb\",
            \"name\": \"Room Charge\",
            \"property_id\": \"95234a2e-68a5-499f-b174-bf7fda22c1c2\",
            \"coa_id\": null,
            \"is_active\": false
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/bill-type-coa"
);

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

let body = {
    "list_bill_type": [
        {
            "id": "5007a8bf-a2eb-4254-abd7-6f1417074cfb",
            "name": "Room Charge",
            "property_id": "95234a2e-68a5-499f-b174-bf7fda22c1c2",
            "coa_id": null,
            "is_active": false
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/bill-type-coa';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
            $o = [
                clone (\Symfony\Component\VarExporter\Internal\Registry::$prototypes['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')),
            ],
            null,
            [
                'stdClass' => [
                    'id' => [
                        '5007a8bf-a2eb-4254-abd7-6f1417074cfb',
                    ],
                    'name' => [
                        'Room Charge',
                    ],
                    'property_id' => [
                        '95234a2e-68a5-499f-b174-bf7fda22c1c2',
                    ],
                    'coa_id' => [
                        null,
                    ],
                    'is_active' => [
                        false,
                    ],
                ],
            ],
            [
                'list_bill_type' => [
                    $o[0],
                ],
            ],
            []
        ),
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room type",
    "data": {
        "id": "3696cda0-035d-4827-a406-c14e6fcdf264",
        "name": "Room Type baru",
        "description": "Room Type Baru Description",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
        "amenities": [
            {
                "category_id": "37b32a73-0c29-4d5a-80bd-1717901d015e",
                "category_name": "Room Amenities",
                "amenities_list": [
                    {
                        "id": "78e7914b-21b5-4bdd-b461-2d3cd72b8f67",
                        "name": "Adapter",
                        "is_select": false
                    },
                    {
                        "id": "05300f15-884d-409e-a396-536929d3cbcf",
                        "name": "Air conditioning",
                        "is_select": true
                    },
                    {
                        "id": "a7d9dedc-cf0b-4d68-9a48-37e14461fdf4",
                        "name": "Air conditioning single room",
                        "is_select": false
                    },
                    {
                        "id": "fd1f09c8-0aca-4f66-b071-cc030a76b36b",
                        "name": "Balcony",
                        "is_select": true
                    },
                    {
                        "id": "dba356b4-5d41-4546-84cf-b08f6585f457",
                        "name": "Bathtub",
                        "is_select": false
                    },
                    {
                        "id": "252b28a2-6add-4a37-85c5-d22598b5e2a1",
                        "name": "Carpeted",
                        "is_select": false
                    },
                    {
                        "id": "f214eca9-262c-4307-979d-3e4bd8de39b4",
                        "name": "Childrens cribs",
                        "is_select": true
                    },
                    {
                        "id": "dc05d273-baec-48b0-acdf-559c39a35f61",
                        "name": "Cleaning products",
                        "is_select": false
                    },
                    {
                        "id": "404dd22a-26e0-4931-b3b2-99333f1e968e",
                        "name": "Clothes rack",
                        "is_select": false
                    },
                    {
                        "id": "3c23f5bb-59ee-4f48-b88a-be1d94681df6",
                        "name": "Desk",
                        "is_select": false
                    },
                    {
                        "id": "bc0c5784-2809-4904-b4e0-bab8b9e1e3d0",
                        "name": "Dryer",
                        "is_select": true
                    },
                    {
                        "id": "99fedee9-ecef-4875-81ce-2a4b9f16cd0a",
                        "name": "Drying rack for clothing",
                        "is_select": false
                    },
                    {
                        "id": "7a8eee4a-155a-4214-b105-68705f2e381b",
                        "name": "Electric blankets",
                        "is_select": false
                    },
                    {
                        "id": "b7757b5e-fa8e-465b-8c3e-f481ed0aba66",
                        "name": "Electric kettle",
                        "is_select": false
                    },
                    {
                        "id": "ce91b7d8-afa1-466d-bfd2-cbc01d107aa8",
                        "name": "Extra long beds (> 6.5 ft)",
                        "is_select": false
                    },
                    {
                        "id": "d0de7cd0-bf27-416f-9317-d65ede231d2f",
                        "name": "Fan",
                        "is_select": false
                    },
                    {
                        "id": "ef8e700d-34cd-46f3-ad83-e40192ff2a8f",
                        "name": "Feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "68d1483f-999a-4155-b2e4-86e0edf8c3ab",
                        "name": "Fireplace",
                        "is_select": false
                    },
                    {
                        "id": "9c1b1920-b3c0-4ce6-8e76-e9a41ceb3b28",
                        "name": "Flat-screen TV",
                        "is_select": false
                    },
                    {
                        "id": "206d34a2-716d-4f08-8895-b18a152c5c5c",
                        "name": "Fold-up bed",
                        "is_select": false
                    },
                    {
                        "id": "feb09933-4210-4e53-a083-60e0ff5f2076",
                        "name": "Hardwood or parquet floors",
                        "is_select": false
                    },
                    {
                        "id": "2d83428c-67f0-424c-b3cf-7b64c7bbde4d",
                        "name": "Heated pool",
                        "is_select": false
                    },
                    {
                        "id": "0e457b6c-27f9-4170-9174-ddcc4a44dbbc",
                        "name": "Heating",
                        "is_select": false
                    },
                    {
                        "id": "a91728b8-4c62-4644-bfc3-8673cdd06c5e",
                        "name": "Hot tub",
                        "is_select": false
                    },
                    {
                        "id": "96fc900e-041f-454c-9aae-45dd06b9a142",
                        "name": "Hypoallergenic",
                        "is_select": false
                    },
                    {
                        "id": "daeea86a-79c0-45b8-81a7-e76333134b3d",
                        "name": "Hypoallergenic pillow",
                        "is_select": false
                    },
                    {
                        "id": "9f577ec2-34e9-4d5c-87df-868bb8ffae4d",
                        "name": "Infinity Pool",
                        "is_select": false
                    },
                    {
                        "id": "0897bc60-47b1-46dd-a822-2bcaeb07d8e8",
                        "name": "Interconnecting rooms",
                        "is_select": false
                    },
                    {
                        "id": "a662f19e-419c-41a9-a0a0-b0c2f00f24dd",
                        "name": "Iron",
                        "is_select": false
                    },
                    {
                        "id": "46a2ee4a-c711-4dd2-a99d-ce6c6ebf3a31",
                        "name": "Ironing facilities",
                        "is_select": false
                    },
                    {
                        "id": "6107ec89-e45a-43f5-ac25-598f20535951",
                        "name": "Mosquito net",
                        "is_select": false
                    },
                    {
                        "id": "1818a164-cfd0-435a-8398-f7ddc11401f4",
                        "name": "Non-feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "1ca6771c-37ae-4ff6-84d0-4277f27365b0",
                        "name": "Pajamas",
                        "is_select": false
                    },
                    {
                        "id": "3e611ae2-edf5-4473-ae7b-c6ab2d6ce946",
                        "name": "Plunge Pool",
                        "is_select": false
                    },
                    {
                        "id": "a13e0b46-0d5e-4503-bc11-af25b568609a",
                        "name": "Pool cover",
                        "is_select": false
                    },
                    {
                        "id": "86854195-b984-415f-925e-bee9172388dc",
                        "name": "Pool towels",
                        "is_select": false
                    },
                    {
                        "id": "b5687b9d-65b2-4d1a-aa22-b2ef72a26685",
                        "name": "Pool with a view",
                        "is_select": false
                    },
                    {
                        "id": "bc8c3d71-115f-45ff-8d98-6d6c7c1ad6b7",
                        "name": "Private pool",
                        "is_select": false
                    },
                    {
                        "id": "7ba1a081-d56b-4608-9d2e-1110fa4cd601",
                        "name": "Rooftop pool",
                        "is_select": false
                    },
                    {
                        "id": "b808b875-492d-458d-a6bc-720372622767",
                        "name": "Safe",
                        "is_select": false
                    },
                    {
                        "id": "d990b235-5121-4b63-ad8c-5ee1721196b4",
                        "name": "Saltwater pool",
                        "is_select": false
                    },
                    {
                        "id": "b38466d0-9e59-4736-8204-0b01d379faa0",
                        "name": "Shallow end",
                        "is_select": false
                    },
                    {
                        "id": "bc33df3d-9f0f-425b-a0df-46ab53e7aa83",
                        "name": "Sitting area",
                        "is_select": false
                    },
                    {
                        "id": "441d79fb-82a4-458a-8bd2-8f91f40f5e2b",
                        "name": "Socket near the bed",
                        "is_select": false
                    },
                    {
                        "id": "30d5b8ec-8f2e-4fc6-899a-5714a9d7be63",
                        "name": "Sofa",
                        "is_select": false
                    },
                    {
                        "id": "06b027ce-138e-4f61-bc25-10165e24cbfd",
                        "name": "Sofa bed",
                        "is_select": false
                    },
                    {
                        "id": "f2d7c256-4b44-48bf-a2a0-04917f773784",
                        "name": "Soundproof",
                        "is_select": false
                    },
                    {
                        "id": "f39be007-f9d0-413a-9434-335578838ac8",
                        "name": "Suit press",
                        "is_select": false
                    },
                    {
                        "id": "892e321b-5422-48d7-8c1d-950486a1ea57",
                        "name": "Tile/Marble floor",
                        "is_select": false
                    },
                    {
                        "id": "7bdbc02c-4cf0-487a-9faa-bbe25447795a",
                        "name": "Toilet paper",
                        "is_select": false
                    },
                    {
                        "id": "5f84000a-c63d-4234-93c7-dcf36434b1ff",
                        "name": "Towels",
                        "is_select": false
                    },
                    {
                        "id": "b8937943-2b2c-4818-8943-cea8f0754fe6",
                        "name": "Trash cans",
                        "is_select": false
                    },
                    {
                        "id": "26ad03ba-c55c-489a-a550-92f19982df53",
                        "name": "View",
                        "is_select": false
                    },
                    {
                        "id": "ec55c805-84d8-4457-b5b8-fec22adf8ec6",
                        "name": "Walk-in closet",
                        "is_select": false
                    },
                    {
                        "id": "8d560293-82fd-4135-99df-761aa540dbb7",
                        "name": "Wardrobe or closet",
                        "is_select": false
                    },
                    {
                        "id": "b0d7bf28-75d2-4f0a-8ad9-baabe2e50608",
                        "name": "Washing machine",
                        "is_select": false
                    },
                    {
                        "id": "17d5df9c-0bb9-4390-8177-9dc05b0ea92c",
                        "name": "Yukata",
                        "is_select": false
                    },
                    {
                        "id": "336a2aa5-fb92-432e-9d15-496f0638fd60",
                        "name": "Air purifiers",
                        "is_select": false
                    },
                    {
                        "id": "f822da69-c6d3-439d-aab2-58c28e09dc39",
                        "name": "Hand sanitizer",
                        "is_select": false
                    },
                    {
                        "id": "932710b6-8c27-4184-b3b3-7df86e2fb36f",
                        "name": "Bolsters",
                        "is_select": false
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/backoffice/bill-type-coa

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

list_bill_type   object[]     

listofobject data.

Option Property Bill Type Input

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/bill-type-coa/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"coa\",
    \"property_id\": \"vel\",
    \"coa_search\": \"commodi\",
    \"default_value\": \"sit\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/bill-type-coa/dropdown/list"
);

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

let body = {
    "mode": "coa",
    "property_id": "vel",
    "coa_search": "commodi",
    "default_value": "sit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/bill-type-coa/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'coa',
            'property_id' => 'vel',
            'coa_search' => 'commodi',
            'default_value' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart of Account Founds",
    "data": [
        {
            "key": null,
            "label": "1200 | ACCOUNT RECEIVABLE",
            "sub": [
                {
                    "key": "3c94c024-c6a6-4207-b091-d6fb893e8396",
                    "label": "--120-00-009 | A/R Other Credit Cards"
                }
            ]
        }
    ]
}
 

Request   

POST api/v1/backoffice/bill-type-coa/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
property_id   string     

uuid of Room Type Example: vel

coa_search   string     

name of coa finding Example: commodi

default_value   string     

name of coa default value Example: sit

Backoffice Discount Option

Detail Discount Option

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/discount-options/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"discount_option_id\": \"corrupti\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/discount-options/detail"
);

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

let body = {
    "property_id": "et",
    "discount_option_id": "corrupti"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/discount-options/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'discount_option_id' => 'corrupti',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Rate Plan detail",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash",
        "property": {
            "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "name": "Cash"
        }
    }
}
 

Request   

POST api/v1/backoffice/discount-options/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property id Example: et

discount_option_id   string     

uuid of Discount Option Example: corrupti

Datatables Discount Options

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/discount-options/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"voluptatem\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/discount-options/datatables"
);

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

let body = {
    "property_id": "voluptatem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/discount-options/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "property_id": "e1e5d4a8-43e5-4944-b2ff-41a28a6687fe",
            "name": "Cash",
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"payment_options\" where \"property_id\" = ? and \"payment_options\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 1.33
        },
        {
            "query": "select * from \"payment_options\" where \"property_id\" = ? and \"payment_options\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.44
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.67
        }
    ],
    "input": {
        "property_id": "e1e5d4a8-43e5-4944-b2ff-41a28a6687fe"
    }
}
 

Request   

POST api/v1/backoffice/discount-options/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: voluptatem

Update Discount Options

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/discount-options" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"dolorem\",
    \"property_id\": \"distinctio\",
    \"coa_id\": \"aspernatur\",
    \"department_id\": \"non\",
    \"title\": \"voluptates\",
    \"remark\": \"qui\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/discount-options"
);

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

let body = {
    "id": "dolorem",
    "property_id": "distinctio",
    "coa_id": "aspernatur",
    "department_id": "non",
    "title": "voluptates",
    "remark": "qui"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/discount-options';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'dolorem',
            'property_id' => 'distinctio',
            'coa_id' => 'aspernatur',
            'department_id' => 'non',
            'title' => 'voluptates',
            'remark' => 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/backoffice/discount-options

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string  optional    

uuid of Property required if you want update Example: dolorem

property_id   string     

uuid of Property Example: distinctio

coa_id   string     

uuid of Chart of Account Payment Method Example: aspernatur

department_id   string     

uuid of Department Example: non

title   string     

title of Discount Example: voluptates

remark   string  optional    

remark of discount can nullable Example: qui

Remove Discount Option

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/discount-options/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"veniam\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/discount-options/remove"
);

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

let body = {
    "id": "veniam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/discount-options/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'veniam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/backoffice/discount-options/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Discount Options Example: veniam

Option Discount Input

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/discount-options/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"coa\",
    \"property_id\": \"delectus\",
    \"coa_search\": \"molestiae\",
    \"default_value\": \"beatae\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/discount-options/dropdown/list"
);

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

let body = {
    "mode": "coa",
    "property_id": "delectus",
    "coa_search": "molestiae",
    "default_value": "beatae"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/discount-options/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'coa',
            'property_id' => 'delectus',
            'coa_search' => 'molestiae',
            'default_value' => 'beatae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart of Account Founds",
    "data": [
        {
            "key": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "label": "Cash"
        }
    ]
}
 

Request   

POST api/v1/backoffice/discount-options/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
  • department
property_id   string     

uuid of Room Type Example: delectus

coa_search   string     

name of coa finding Example: molestiae

default_value   string     

name of coa default value Example: beatae

Backoffice Payment Method

Detail Payment Method

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-option-method/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"payment_option_id\": \"quibusdam\",
    \"payment_method_id\": \"quo\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-option-method/detail"
);

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

let body = {
    "payment_option_id": "quibusdam",
    "payment_method_id": "quo"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-option-method/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'payment_option_id' => 'quibusdam',
            'payment_method_id' => 'quo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Rate Plan detail",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash",
        "property": {
            "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "name": "Cash"
        }
    }
}
 

Request   

POST api/v1/backoffice/payment-option-method/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

payment_option_id   string     

uuid of Payment Option Example: quibusdam

payment_method_id   string     

uuid of Payment Method Example: quo

Datatables Payment Method

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-option-method/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"est\",
    \"payment_option_id\": \"sit\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-option-method/datatables"
);

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

let body = {
    "property_id": "est",
    "payment_option_id": "sit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-option-method/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'est',
            'payment_option_id' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "property_id": "e1e5d4a8-43e5-4944-b2ff-41a28a6687fe",
            "name": "Cash",
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"payment_options\" where \"property_id\" = ? and \"payment_options\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 1.33
        },
        {
            "query": "select * from \"payment_options\" where \"property_id\" = ? and \"payment_options\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.44
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.67
        }
    ],
    "input": {
        "property_id": "e1e5d4a8-43e5-4944-b2ff-41a28a6687fe"
    }
}
 

Request   

POST api/v1/backoffice/payment-option-method/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: est

payment_option_id   string     

uuid of Payment Options Example: sit

Create / Update Payment Options

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-option-method" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"incidunt\",
    \"payment_option_id\": \"est\",
    \"coa_id\": \"porro\",
    \"name\": \"corrupti\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-option-method"
);

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

let body = {
    "property_id": "incidunt",
    "payment_option_id": "est",
    "coa_id": "porro",
    "name": "corrupti"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-option-method';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'incidunt',
            'payment_option_id' => 'est',
            'coa_id' => 'porro',
            'name' => 'corrupti',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/backoffice/payment-option-method

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: incidunt

payment_option_id   string     

uuid of Payment Option Example: est

coa_id   string     

uuid of Chart of Account Payment Method Example: porro

name   string     

Name Payment Method Example: corrupti

Remove Payment Method

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-option-method/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"fugit\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-option-method/remove"
);

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

let body = {
    "id": "fugit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-option-method/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'fugit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/backoffice/payment-option-method/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Payment Method Example: fugit

Option Payment Method Input

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-option-method/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"coa\",
    \"property_id\": \"explicabo\",
    \"coa_search\": \"aut\",
    \"default_value\": \"aliquid\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-option-method/dropdown/list"
);

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

let body = {
    "mode": "coa",
    "property_id": "explicabo",
    "coa_search": "aut",
    "default_value": "aliquid"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-option-method/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'coa',
            'property_id' => 'explicabo',
            'coa_search' => 'aut',
            'default_value' => 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart of Account Founds",
    "data": [
        {
            "key": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "label": "Cash"
        }
    ]
}
 

Request   

POST api/v1/backoffice/payment-option-method/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
  • payment_option
property_id   string     

uuid of Room Type Example: explicabo

coa_search   string     

name of coa finding Example: aut

default_value   string     

name of coa default value Example: aliquid

Backoffice Payment Option

Detail Payment Option

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-options/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quaerat\",
    \"payment_option_id\": \"similique\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-options/detail"
);

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

let body = {
    "property_id": "quaerat",
    "payment_option_id": "similique"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-options/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quaerat',
            'payment_option_id' => 'similique',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Rate Plan detail",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash",
        "property": {
            "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "name": "Cash"
        }
    }
}
 

Request   

POST api/v1/backoffice/payment-options/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property id Example: quaerat

payment_option_id   string     

uuid of Payment Option id set value create if new data Example: similique

Datatables Payment Options

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-options/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"laborum\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-options/datatables"
);

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

let body = {
    "property_id": "laborum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-options/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'laborum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "property_id": "e1e5d4a8-43e5-4944-b2ff-41a28a6687fe",
            "name": "Cash",
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"payment_options\" where \"property_id\" = ? and \"payment_options\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 1.33
        },
        {
            "query": "select * from \"payment_options\" where \"property_id\" = ? and \"payment_options\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.44
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.67
        }
    ],
    "input": {
        "property_id": "e1e5d4a8-43e5-4944-b2ff-41a28a6687fe"
    }
}
 

Request   

POST api/v1/backoffice/payment-options/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: laborum

Update Payment Options

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-options" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"error\",
    \"name\": \"repellat\",
    \"agent_id\": \"impedit\",
    \"coa_id\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-options"
);

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

let body = {
    "property_id": "error",
    "name": "repellat",
    "agent_id": "impedit",
    "coa_id": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-options';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'error',
            'name' => 'repellat',
            'agent_id' => 'impedit',
            'coa_id' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/backoffice/payment-options

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: error

name   string     

Name of Tax and Service Example: repellat

agent_id   string     

uuid of agent if this payment option for agent Example: impedit

coa_id   string     

uuid of Chart of Account Payment Method Example: est

Remove Payment Options

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-options/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"et\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-options/remove"
);

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

let body = {
    "id": "et"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-options/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/backoffice/payment-options/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Payment Options Example: et

Option Payment Input

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/payment-options/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"coa\",
    \"property_id\": \"ut\",
    \"coa_search\": \"adipisci\",
    \"default_value\": \"laudantium\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/payment-options/dropdown/list"
);

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

let body = {
    "mode": "coa",
    "property_id": "ut",
    "coa_search": "adipisci",
    "default_value": "laudantium"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/payment-options/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'coa',
            'property_id' => 'ut',
            'coa_search' => 'adipisci',
            'default_value' => 'laudantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart of Account Founds",
    "data": [
        {
            "key": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
            "label": "Cash"
        }
    ]
}
 

Request   

POST api/v1/backoffice/payment-options/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
  • agent
property_id   string     

uuid of Room Type Example: ut

coa_search   string     

name of coa finding Example: adipisci

default_value   string     

name of coa default value Example: laudantium

Backoffice Property Rate Plans

Detail Rate Plans

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"autem\",
    \"rate_plan_id\": \"rem\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan/detail"
);

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

let body = {
    "property_id": "autem",
    "rate_plan_id": "rem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'autem',
            'rate_plan_id' => 'rem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Rate Plan detail",
    "data": {
        "id": "f30d4a47-827c-43da-b891-05d28c13570a",
        "name": "Room And Breakfast Rate",
        "remark": "Room And Breakfast Rate",
        "start_date": "2024-06-29",
        "end_date": "2025-07-24",
        "min_night": 1,
        "max_night": 10,
        "max_adult": 2,
        "max_child": 2,
        "max_pax": 4,
        "rate": 150000,
        "extra_adult_rate": 0,
        "extra_child_rate": 0,
        "rate_plan_type_id": "edea11e1-3a50-4872-b0b6-5454d9623c58",
        "rate_plan_type_name": "STANDAR",
        "open_rate": true,
        "tax_and_service_id": "bd79b8c2-aa00-4d58-9ec7-eb909dc09de1",
        "tax_and_service_name": "Room Rate Tax 11 and Service 10",
        "currency_name": {
            "id": "d43d6a17-85f9-42ca-b570-8b980326a198",
            "name": "Indonesian rupiah",
            "code": "IDR",
            "symbol": "Rp"
        },
        "room_type": {
            "id": "ddd29ba9-810f-4db1-9f3f-6dea7f1ec419",
            "name": "Standard Balcony"
        },
        "daily_rate": {
            "period_start_date": "2024-06-29",
            "period_end_date": "2024-07-29",
            "list_rate": [
                {
                    "rate_date": "2024-06-29",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                }
            ]
        }
    }
}
 

Request   

POST api/v1/backoffice/rate-plan/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property id Example: autem

rate_plan_id   string     

uuid of Rate Plan id set value create if new data Example: rem

Datatables Rate Plans

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan/datatables" \
    --header "Authorization: Bearer **********************************"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan/datatables"
);

const headers = {
    "Authorization": "Bearer **********************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer **********************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/backoffice/rate-plan/datatables

Headers

Authorization        

Example: Bearer **********************************

Rate Plan List Data

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"molestiae\",
    \"page_no\": 5,
    \"rate_plan_name\": \"nulla\",
    \"rate_type_id\": \"facilis\",
    \"room_type_id\": \"exercitationem\",
    \"active_start_date\": \"rem\",
    \"active_end_date\": \"explicabo\",
    \"status_active\": true
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan/list"
);

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

let body = {
    "property_id": "molestiae",
    "page_no": 5,
    "rate_plan_name": "nulla",
    "rate_type_id": "facilis",
    "room_type_id": "exercitationem",
    "active_start_date": "rem",
    "active_end_date": "explicabo",
    "status_active": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'molestiae',
            'page_no' => 5,
            'rate_plan_name' => 'nulla',
            'rate_type_id' => 'facilis',
            'room_type_id' => 'exercitationem',
            'active_start_date' => 'rem',
            'active_end_date' => 'explicabo',
            'status_active' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Rate Plan List",
    "data": {
        "record": [
            {
                "id": "51eba24d-85d4-4d32-ac9f-fe1d0ec07ea6",
                "property": {
                    "id": "8e98e464-9e42-441e-aef3-f2f029fbdea5",
                    "name": "Hotel Dummy"
                },
                "currency": {
                    "id": "098bdff9-0060-4e5b-8364-c93bbabcf17a",
                    "name": "Indonesian rupiah",
                    "code": "IDR",
                    "symbol": "Rp"
                },
                "room_type": {
                    "id": "0a3b2a7b-4579-4d2a-9f47-7922329bd423",
                    "name": "Standard Balcony"
                },
                "rate_plan_type": {
                    "id": "317dfc1b-9842-4350-838e-4ee6d664c560",
                    "name": "Room Only"
                },
                "tax_and_service": {
                    "id": "2896f446-4c87-42b2-b55b-324cbc6bcffd",
                    "name": "Room Rate Tax 11 and Service 10",
                    "tax_percent": "11",
                    "service_percent": "10",
                    "calculation_type": "INCLUDE"
                },
                "open_rate": true,
                "name": "Room And Breakfast Rate",
                "remark": "Room And Breakfast Rate",
                "start_date": "2024-10-16",
                "end_date": "2025-11-10",
                "min_night": 1,
                "max_night": 10,
                "max_adult": 2,
                "max_child": 2,
                "max_pax": 4,
                "rate": 150000,
                "extra_adult_rate": 0,
                "rate_plan_detail": [
                    {
                        "id": "e0eff273-f366-4f9a-9478-083e0a07bb07",
                        "remark": "Room rate",
                        "rate": 400000
                    },
                    {
                        "id": "ee9fa600-b92b-40e2-bb4f-0bcf74da6f59",
                        "remark": "Breakfast rate",
                        "rate": 150000
                    }
                ]
            }
        ],
        "total_page": 1,
        "current_page": 1,
        "filter": {
            "room_type_id": "0a3b2a7b-4579-4d2a-9f47-7922329bd423",
            "rate_type_id": "317dfc1b-9842-4350-838e-4ee6d664c560",
            "active_start_date": "2024-12-25",
            "active_end_date": "2025-03-25"
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/backoffice/rate-plan/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: molestiae

page_no   integer  optional    

number of pagination Example: 5

rate_plan_name   string  optional    

filter of rate plan name Example: nulla

rate_type_id   string  optional    

uuid of rate plan type Example: facilis

room_type_id   string  optional    

uuid of room type Example: exercitationem

active_start_date   string  optional    

filter rate plan active start date of date find type format Y-m-d. Example: rem

active_end_date   string  optional    

filter rate plan active end date of date find type format Y-m-d. Example: explicabo

status_active   boolean  optional    

status of rate plan true or false. Example: true

Create or update Rate Plans

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"explicabo\",
    \"property_id\": \"voluptatum\",
    \"rate_plan_type_id\": \"quidem\",
    \"tax_and_service_id\": \"quae\",
    \"room_type_id\": \"incidunt\",
    \"room_type_multi\": null,
    \"open_rate\": \"aut\",
    \"name\": \"ut\",
    \"remark\": \"reiciendis\",
    \"start_date\": \"facilis\",
    \"end_date\": \"qui\",
    \"min_night\": 1,
    \"max_night\": 14,
    \"max_adult\": 15,
    \"max_child\": 10,
    \"max_pax\": 9,
    \"rate\": 14,
    \"extra_adult_rate\": 10,
    \"extra_child_rate\": 1,
    \"daily_rate_period_start_date\": \"nulla\",
    \"daily_rate_period_end_date\": \"repudiandae\",
    \"rate_plan_detail\": null,
    \"rate_plan_inclusion\": null
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan"
);

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

let body = {
    "id": "explicabo",
    "property_id": "voluptatum",
    "rate_plan_type_id": "quidem",
    "tax_and_service_id": "quae",
    "room_type_id": "incidunt",
    "room_type_multi": null,
    "open_rate": "aut",
    "name": "ut",
    "remark": "reiciendis",
    "start_date": "facilis",
    "end_date": "qui",
    "min_night": 1,
    "max_night": 14,
    "max_adult": 15,
    "max_child": 10,
    "max_pax": 9,
    "rate": 14,
    "extra_adult_rate": 10,
    "extra_child_rate": 1,
    "daily_rate_period_start_date": "nulla",
    "daily_rate_period_end_date": "repudiandae",
    "rate_plan_detail": null,
    "rate_plan_inclusion": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'explicabo',
            'property_id' => 'voluptatum',
            'rate_plan_type_id' => 'quidem',
            'tax_and_service_id' => 'quae',
            'room_type_id' => 'incidunt',
            'room_type_multi' => null,
            'open_rate' => 'aut',
            'name' => 'ut',
            'remark' => 'reiciendis',
            'start_date' => 'facilis',
            'end_date' => 'qui',
            'min_night' => 1,
            'max_night' => 14,
            'max_adult' => 15,
            'max_child' => 10,
            'max_pax' => 9,
            'rate' => 14,
            'extra_adult_rate' => 10,
            'extra_child_rate' => 1,
            'daily_rate_period_start_date' => 'nulla',
            'daily_rate_period_end_date' => 'repudiandae',
            'rate_plan_detail' => null,
            'rate_plan_inclusion' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Save Update Rate Plan Data",
    "data": [
        {
            "id": "ce065cfe-eaa1-4b59-abd8-220d5660a026",
            "name": "Test Room Rate With Detail",
            "remark": "test room rate",
            "start_date": "2024-12-01",
            "end_date": "",
            "min_night": 1,
            "max_night": 30,
            "max_adult": 2,
            "max_child": 1,
            "max_pax": 3,
            "rate": 550000,
            "extra_adult_rate": 50000,
            "extra_child_rate": 50000,
            "rate_plan_detail": [
                {
                    "id": "d51ee804-3d39-4c04-8843-049bd132bf46",
                    "remark": "Room rate",
                    "rate": 400000
                },
                {
                    "id": "573f3199-d964-44b9-ba71-9c3d90f780d8",
                    "remark": "Breakfast rate",
                    "rate": 150000
                }
            ],
            "rate_plan_type_id": "14399dcb-b5cb-4c49-afba-12628e82dda6",
            "rate_plan_type_name": "Room Breakfast",
            "open_rate": true,
            "tax_and_service_id": "2896f446-4c87-42b2-b55b-324cbc6bcffd",
            "tax_and_service_name": "Room Rate Tax 11 and Service 10",
            "currency_name": {
                "id": "098bdff9-0060-4e5b-8364-c93bbabcf17a",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            },
            "room_type": {
                "id": "ac928fd1-e0a6-42ea-94d2-53900547f872",
                "name": "Standard"
            },
            "daily_rate": {
                "period_start_date": "2024-12-01",
                "period_end_date": "2024-12-31",
                "list_rate": [
                    {
                        "rate_date": "2024-12-30",
                        "rate": 550000,
                        "extra_adult_rate": 50000,
                        "extra_child_rate": 50000,
                        "rate_plan_detail": [
                            {
                                "id": "d51ee804-3d39-4c04-8843-049bd132bf46",
                                "remark": "Room rate",
                                "rate": 400000,
                                "is_adjustment": false
                            },
                            {
                                "id": "573f3199-d964-44b9-ba71-9c3d90f780d8",
                                "remark": "Breakfast rate",
                                "rate": 150000,
                                "is_adjustment": false
                            }
                        ],
                        "is_adjustment": false
                    },
                    {
                        "rate_date": "2024-12-31",
                        "rate": 550000,
                        "extra_adult_rate": 50000,
                        "extra_child_rate": 50000,
                        "rate_plan_detail": [
                            {
                                "id": "d51ee804-3d39-4c04-8843-049bd132bf46",
                                "remark": "Room rate",
                                "rate": 400000,
                                "is_adjustment": false
                            },
                            {
                                "id": "573f3199-d964-44b9-ba71-9c3d90f780d8",
                                "remark": "Breakfast rate",
                                "rate": 150000,
                                "is_adjustment": false
                            }
                        ],
                        "is_adjustment": false
                    }
                ]
            }
        }
    ]
}
 

Request   

POST api/v1/backoffice/rate-plan

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string  optional    

uuid rate plan, this must set for update single rate plan Example: explicabo

property_id   string     

uuid of Property Example: voluptatum

rate_plan_type_id   string     

uuid of Rate Plan Type Example: quidem

tax_and_service_id   string     

uuid of Tax and Service Example: quae

room_type_id   string  optional    

uuid of Room Type if just want update single room type rate plan Example: incidunt

room_type_multi   object[]  optional    

if you want create rate for multiple room rate plan use this parameter like

open_rate   bolean     

if this can use for publish market OTA set true Example: aut

name   string     

name Of Rate Plan Example: ut

remark   string     

remark Of Rate Plan Example: reiciendis

start_date   string     

start date valid Rate Plan, Example. YYYY-mm-dd Example: facilis

end_date   string     

end date valid Rate Plan, Example. YYYY-mm-dd Example: qui

min_night   integer     

minimum night stay rate plan Example: 1

max_night   integer     

maximum night stay rate plan Example: 14

max_adult   integer     

maximum adult guest on one room can apply this rate Example: 15

max_child   integer     

maximum child guest on one room can apply this rate Example: 10

max_pax   integer     

maximum guest on one room can apply this rate Example: 9

rate   integer     

value of Rate Example: 14

extra_adult_rate   integer  optional    

value of Extra Adult Rate Example: 10

extra_child_rate   integer  optional    

value of Extra child Rate Example: 1

daily_rate_period_start_date   string  optional    

this required if you make update daily rate start date display valid Rate Plan, Example. YYYY-mm-dd Example: nulla

daily_rate_period_end_date   string  optional    

this required if you make update daily rate end date display valid Rate Plan, Example. YYYY-mm-dd Example: repudiandae

rate_plan_detail   object[]  optional    

if have detail of rate plan like

rate_plan_inclusion   object[]  optional    

if have detail of rate plan like

Inactive Rate Plans

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan/inactive" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"exercitationem\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan/inactive"
);

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

let body = {
    "id": "exercitationem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan/inactive';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'exercitationem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/backoffice/rate-plan/inactive

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Rate Plans Example: exercitationem

Option Rate Plans Input

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"room_type\",
    \"property_id\": \"dolorem\",
    \"rate_plan_type_id\": \"ea\",
    \"product_category_id\": \"quis\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan/dropdown/list"
);

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

let body = {
    "mode": "room_type",
    "property_id": "dolorem",
    "rate_plan_type_id": "ea",
    "product_category_id": "quis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'room_type',
            'property_id' => 'dolorem',
            'rate_plan_type_id' => 'ea',
            'product_category_id' => 'quis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Tax And Service Founds",
    "data": [
        {
            "key": "bcd755b0-7172-4863-82e1-3629d16f6d52",
            "label": "Room Rate Tax 11 and Service 10"
        }
    ]
}
 

Request   

POST api/v1/backoffice/rate-plan/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The selector option. Example: room_type

Must be one of:
  • room_type
  • rate_plan_type
  • tax_and_service
  • property_currency
  • property_departments
  • product_category
  • product
  • rate_plan_detail_default
  • status_active
property_id   string     

uuid of Property Example: dolorem

rate_plan_type_id   string     

uuid of Property if mode rate_plan_detail_default Example: ea

product_category_id   string     

uuid of Product Category if mode product Example: quis

Adjustment Daily Rate Plans

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/rate-plan/daily/adjustment" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"rate_plan_id\": \"repudiandae\",
    \"property_id\": \"aut\",
    \"start_date\": \"corrupti\",
    \"end_date\": \"quasi\",
    \"adjust_start_date\": \"rerum\",
    \"adjust_end_date\": \"tenetur\",
    \"rate\": 18,
    \"extra_adult_rate\": 1,
    \"extra_child_rate\": 20,
    \"day_apply\": [
        1,
        2,
        3,
        4,
        5,
        6,
        7
    ],
    \"rate_plan_detail\": null
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/rate-plan/daily/adjustment"
);

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

let body = {
    "rate_plan_id": "repudiandae",
    "property_id": "aut",
    "start_date": "corrupti",
    "end_date": "quasi",
    "adjust_start_date": "rerum",
    "adjust_end_date": "tenetur",
    "rate": 18,
    "extra_adult_rate": 1,
    "extra_child_rate": 20,
    "day_apply": [
        1,
        2,
        3,
        4,
        5,
        6,
        7
    ],
    "rate_plan_detail": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/rate-plan/daily/adjustment';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'rate_plan_id' => 'repudiandae',
            'property_id' => 'aut',
            'start_date' => 'corrupti',
            'end_date' => 'quasi',
            'adjust_start_date' => 'rerum',
            'adjust_end_date' => 'tenetur',
            'rate' => 18,
            'extra_adult_rate' => 1,
            'extra_child_rate' => 20,
            'day_apply' => [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
            ],
            'rate_plan_detail' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Save Adjustment Daily Rate Plan Data",
    "data": [
        {
            "period_start_date": "2024-08-01",
            "period_end_date": "2024-08-10",
            "list_rate": [
                {
                    "rate_date": "2024-08-01",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-02",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-03",
                    "rate": 300000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": true
                },
                {
                    "rate_date": "2024-08-04",
                    "rate": 300000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": true
                },
                {
                    "rate_date": "2024-08-05",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-06",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-07",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-08",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-09",
                    "rate": 150000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": false
                },
                {
                    "rate_date": "2024-08-10",
                    "rate": 300000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "is_adjustment": true
                }
            ]
        }
    ]
}
 

Request   

POST api/v1/backoffice/rate-plan/daily/adjustment

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

rate_plan_id   string  optional    

uuid rate plan, this must set for update single rate plan Example: repudiandae

property_id   string     

uuid of Property Example: aut

start_date   string     

list day showing start date valid Rate Plan, Example. YYYY-mm-dd Example: corrupti

end_date   string     

list day showing end date valid Rate Plan, Example. YYYY-mm-dd Example: quasi

adjust_start_date   string     

start date adjusment Daily Rate Rate Plan, Example. YYYY-mm-dd Example: rerum

adjust_end_date   string     

if adjust daily rate on range, use end date adjusment Daily Rate Rate Plan, Example. YYYY-mm-dd Example: tenetur

rate   integer     

value of Rate adjustment Example: 18

extra_adult_rate   integer  optional    

value of Extra Adult Rate adjustment Example: 1

extra_child_rate   integer  optional    

value of Extra child Rate adjustment Example: 20

day_apply   string[]  optional    

if you want adjustment your daily rate use this parameter like(1 = monday, 2 = tuesday, 3 = wednesday, 4 = thursday, 5 = friday, 6 = saturday 7 = sunday).

rate_plan_detail   object[]  optional    

if have detail of rate plan like

Backoffice Tax And Service

Detail Tax And Service

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/tax-and-service/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"excepturi\",
    \"tax_and_service_id\": \"provident\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/tax-and-service/detail"
);

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

let body = {
    "property_id": "excepturi",
    "tax_and_service_id": "provident"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/tax-and-service/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'excepturi',
            'tax_and_service_id' => 'provident',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Tax and Service detail",
    "data": {
        "id": "151f85bf-cb51-4aab-985c-8d451dcd901c",
        "name": "Room Rate Tax 11 and Service 10",
        "tax": "11",
        "service": "10",
        "use_service": true,
        "tax_coa": {
            "id": "563770be-ecf2-4f77-a717-46fcb69e90e9",
            "name": "220-00-060 | Recontruction Tax - PB 1"
        },
        "service_coa": {
            "id": "639fdb54-d802-442b-a19e-3bd5af5507ea",
            "name": "250-00-010 | A/P - Service Charge"
        }
    }
}
 

Request   

POST api/v1/backoffice/tax-and-service/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: excepturi

tax_and_service_id   string     

uuid of Tax And Service Example: provident

Datatables Tax And Service

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/tax-and-service/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sint\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/tax-and-service/datatables"
);

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

let body = {
    "property_id": "sint"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/tax-and-service/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "151f85bf-cb51-4aab-985c-8d451dcd901c",
            "property_id": "6f61c7b5-72df-4c55-a6de-0b04b08dfef5",
            "tax_coa_id": "563770be-ecf2-4f77-a717-46fcb69e90e9",
            "service_coa_id": "639fdb54-d802-442b-a19e-3bd5af5507ea",
            "calculation_type": "INCLUDE",
            "name": "Room Rate Tax 11 and Service 10",
            "tax": "11",
            "service": "10",
            "use_service": true,
            "property_name": "Hotel Dummy",
            "tax_coa": "220-00-060 | Recontruction Tax - PB 1",
            "service_coa": "250-00-010 | A/P - Service Charge"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"tax_and_services\" where \"property_id\" = ? and \"tax_and_services\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 2.05
        },
        {
            "query": "select * from \"tax_and_services\" where \"property_id\" = ? and \"tax_and_services\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.5
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.69
        },
        {
            "query": "select * from \"chart_of_accounts\" where \"chart_of_accounts\".\"id\" = ? and \"chart_of_accounts\".\"id\" is not null and \"chart_of_accounts\".\"deleted_at\" is null limit 1",
            "bindings": [
                169
            ],
            "time": 1.55
        },
        {
            "query": "select * from \"chart_of_accounts\" where \"chart_of_accounts\".\"id\" = ? and \"chart_of_accounts\".\"id\" is not null and \"chart_of_accounts\".\"deleted_at\" is null limit 1",
            "bindings": [
                215
            ],
            "time": 0.58
        }
    ],
    "input": {
        "property_id": "6f61c7b5-72df-4c55-a6de-0b04b08dfef5"
    }
}
 

Request   

POST api/v1/backoffice/tax-and-service/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: sint

Update Tax And Service

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/tax-and-service" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"rerum\",
    \"tax_coa_id\": \"et\",
    \"service_coa_id\": \"eum\",
    \"name\": \"non\",
    \"calculation_type\": \"necessitatibus\",
    \"tax\": 343781794.79897434,
    \"service\": 64882383.511,
    \"use_service\": \"unde\",
    \"is_default\": \"ea\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/tax-and-service"
);

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

let body = {
    "property_id": "rerum",
    "tax_coa_id": "et",
    "service_coa_id": "eum",
    "name": "non",
    "calculation_type": "necessitatibus",
    "tax": 343781794.79897434,
    "service": 64882383.511,
    "use_service": "unde",
    "is_default": "ea"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/tax-and-service';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'rerum',
            'tax_coa_id' => 'et',
            'service_coa_id' => 'eum',
            'name' => 'non',
            'calculation_type' => 'necessitatibus',
            'tax' => 343781794.79897434,
            'service' => 64882383.511,
            'use_service' => 'unde',
            'is_default' => 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Tax and Service",
    "data": {
        "id": "ef9fd502-2b67-4ce2-a72c-2df489060659",
        "name": "tax and service test",
        "tax": "10",
        "service": "11",
        "use_service": true,
        "tax_coa": {
            "id": "6300fe91-d73e-49a2-a52a-59118078cf06",
            "name": "110-30-004 | FA Cash Clearnce"
        },
        "service_coa": {
            "id": "f57cfcf5-ef2f-4222-9476-f10f1822e0d5",
            "name": "120-00-007 | A/R JCB"
        }
    }
}
 

Request   

POST api/v1/backoffice/tax-and-service

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: rerum

tax_coa_id   string     

uuid of Char Of Account for tax Example: et

service_coa_id   string     

uuid of Char Of Account for service Example: eum

name   string     

Name of Tax and Service Example: non

calculation_type   string     

Calculation type ('INCLUDE','EXCLUDE') Example: necessitatibus

tax   number     

Value of Tax Example: 343781794.79897

service   number  optional    

Value of Service Example: 64882383.511

use_service   bolean  optional    

if use service please set true Example: unde

is_default   bolean  optional    

if this default on option set true Example: ea

Remove Tax And Service

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/tax-and-service/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"quaerat\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/tax-and-service/remove"
);

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

let body = {
    "id": "quaerat"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/tax-and-service/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'quaerat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "success remove Tax And Service",
    "data": []
}
 

Request   

POST api/v1/backoffice/tax-and-service/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Tax And Service Example: quaerat

Option Input Tax And Service

Example request:
curl --request POST \
    "http://localhost/api/v1/backoffice/tax-and-service/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"ullam\",
    \"mode\": \"coa_list\",
    \"coa_search\": \"sed\"
}"
const url = new URL(
    "http://localhost/api/v1/backoffice/tax-and-service/dropdown/list"
);

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

let body = {
    "property_id": "ullam",
    "mode": "coa_list",
    "coa_search": "sed"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/backoffice/tax-and-service/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'ullam',
            'mode' => 'coa_list',
            'coa_search' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Caclculation Type Founds",
    "data": [
        {
            "key": "INCLUDE",
            "label": "Include on Rate"
        },
        {
            "key": "EXCLUDE",
            "label": "Exclude on Rate"
        }
    ]
}
 

Request   

POST api/v1/backoffice/tax-and-service/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: ullam

mode   string  optional    

The language. Example: coa_list

Must be one of:
  • coa_list
  • calculation_type
coa_search   string  optional    

name of Chart Account Example: sed

Bill Type Setup

Bill Type Details

Example request:
curl --request POST \
    "http://localhost/api/v1/master/bill-type/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"bill_type_id\": \"repellendus\"
}"
const url = new URL(
    "http://localhost/api/v1/master/bill-type/detail"
);

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

let body = {
    "bill_type_id": "repellendus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/bill-type/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'bill_type_id' => 'repellendus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Feature Detail",
    "data": {
        "id": "5e1932e0-7d6c-49e4-989c-6c6512263d8f",
        "prefix_booking_code": "hotel_dummy-",
        "name": "Hotel Dummy",
        "address": "Jl. Raya Kedampang Gg Loka No.8, Kerobokan Kelod, Kec. Kuta, Kabupaten Badung, Bali 80361",
        "zip_code": "80361",
        "phone": "0817-7689-9998",
        "email_primary": "[email protected]",
        "logo_path": null,
        "website": "https://www.dummyhotel.com",
        "longitude": "-8.597327",
        "latitude": "115.319776",
        "google_map_url": "https://goo.gl/maps/q9CqJMQFvZ7WYLdH6",
        "sosmed_facebook_url": "#",
        "sosmed_instagram_url": "#",
        "sosmed_youtube_url": "#",
        "sosmed_twitter_url": "#",
        "description": null,
        "property_group": {
            "id": "d0988d1d-a3d0-4494-807d-e9777345d4a4",
            "name": "Hotel Dummy Group"
        },
        "area": {
            "id": "c71e56f2-f74c-4913-9846-a5998a0e536f",
            "area_name": "Sukawati",
            "region_name": "Bali",
            "country_name": "Indonesia"
        },
        "currency": {
            "id": "5138063c-f71f-4433-8350-a66d2429a592",
            "name": "Indonesian rupiah"
        },
        "timezone": {
            "id": "204e5eab-01a6-43ae-b93c-983037af6577",
            "name": "Asia/Jakarta"
        }
    }
}
 

Request   

POST api/v1/master/bill-type/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

bill_type_id   string     

uuid of Bill Type Example: repellendus

Datatables Bill Type

Example request:
curl --request POST \
    "http://localhost/api/v1/master/bill-type/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/bill-type/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/bill-type/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 5,
    "recordsFiltered": 5,
    "data": [
        {
            "id": "214310a1-f98b-4edb-9e55-5a1616875318",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Standard",
            "description": "Standar Room",
            "position_order": 1,
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/master/bill-type/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Bill Type

Example request:
curl --request POST \
    "http://localhost/api/v1/master/bill-type" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"officiis\",
    \"name\": \"aut\",
    \"is_permanent\": \"labore\"
}"
const url = new URL(
    "http://localhost/api/v1/master/bill-type"
);

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

let body = {
    "id": "officiis",
    "name": "aut",
    "is_permanent": "labore"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/bill-type';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'officiis',
            'name' => 'aut',
            'is_permanent' => 'labore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room type",
    "data": {
        "id": "3696cda0-035d-4827-a406-c14e6fcdf264",
        "name": "Room Type baru",
        "description": "Room Type Baru Description",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
        "amenities": [
            {
                "category_id": "37b32a73-0c29-4d5a-80bd-1717901d015e",
                "category_name": "Room Amenities",
                "amenities_list": [
                    {
                        "id": "78e7914b-21b5-4bdd-b461-2d3cd72b8f67",
                        "name": "Adapter",
                        "is_select": false
                    },
                    {
                        "id": "05300f15-884d-409e-a396-536929d3cbcf",
                        "name": "Air conditioning",
                        "is_select": true
                    },
                    {
                        "id": "a7d9dedc-cf0b-4d68-9a48-37e14461fdf4",
                        "name": "Air conditioning single room",
                        "is_select": false
                    },
                    {
                        "id": "fd1f09c8-0aca-4f66-b071-cc030a76b36b",
                        "name": "Balcony",
                        "is_select": true
                    },
                    {
                        "id": "dba356b4-5d41-4546-84cf-b08f6585f457",
                        "name": "Bathtub",
                        "is_select": false
                    },
                    {
                        "id": "252b28a2-6add-4a37-85c5-d22598b5e2a1",
                        "name": "Carpeted",
                        "is_select": false
                    },
                    {
                        "id": "f214eca9-262c-4307-979d-3e4bd8de39b4",
                        "name": "Childrens cribs",
                        "is_select": true
                    },
                    {
                        "id": "dc05d273-baec-48b0-acdf-559c39a35f61",
                        "name": "Cleaning products",
                        "is_select": false
                    },
                    {
                        "id": "404dd22a-26e0-4931-b3b2-99333f1e968e",
                        "name": "Clothes rack",
                        "is_select": false
                    },
                    {
                        "id": "3c23f5bb-59ee-4f48-b88a-be1d94681df6",
                        "name": "Desk",
                        "is_select": false
                    },
                    {
                        "id": "bc0c5784-2809-4904-b4e0-bab8b9e1e3d0",
                        "name": "Dryer",
                        "is_select": true
                    },
                    {
                        "id": "99fedee9-ecef-4875-81ce-2a4b9f16cd0a",
                        "name": "Drying rack for clothing",
                        "is_select": false
                    },
                    {
                        "id": "7a8eee4a-155a-4214-b105-68705f2e381b",
                        "name": "Electric blankets",
                        "is_select": false
                    },
                    {
                        "id": "b7757b5e-fa8e-465b-8c3e-f481ed0aba66",
                        "name": "Electric kettle",
                        "is_select": false
                    },
                    {
                        "id": "ce91b7d8-afa1-466d-bfd2-cbc01d107aa8",
                        "name": "Extra long beds (> 6.5 ft)",
                        "is_select": false
                    },
                    {
                        "id": "d0de7cd0-bf27-416f-9317-d65ede231d2f",
                        "name": "Fan",
                        "is_select": false
                    },
                    {
                        "id": "ef8e700d-34cd-46f3-ad83-e40192ff2a8f",
                        "name": "Feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "68d1483f-999a-4155-b2e4-86e0edf8c3ab",
                        "name": "Fireplace",
                        "is_select": false
                    },
                    {
                        "id": "9c1b1920-b3c0-4ce6-8e76-e9a41ceb3b28",
                        "name": "Flat-screen TV",
                        "is_select": false
                    },
                    {
                        "id": "206d34a2-716d-4f08-8895-b18a152c5c5c",
                        "name": "Fold-up bed",
                        "is_select": false
                    },
                    {
                        "id": "feb09933-4210-4e53-a083-60e0ff5f2076",
                        "name": "Hardwood or parquet floors",
                        "is_select": false
                    },
                    {
                        "id": "2d83428c-67f0-424c-b3cf-7b64c7bbde4d",
                        "name": "Heated pool",
                        "is_select": false
                    },
                    {
                        "id": "0e457b6c-27f9-4170-9174-ddcc4a44dbbc",
                        "name": "Heating",
                        "is_select": false
                    },
                    {
                        "id": "a91728b8-4c62-4644-bfc3-8673cdd06c5e",
                        "name": "Hot tub",
                        "is_select": false
                    },
                    {
                        "id": "96fc900e-041f-454c-9aae-45dd06b9a142",
                        "name": "Hypoallergenic",
                        "is_select": false
                    },
                    {
                        "id": "daeea86a-79c0-45b8-81a7-e76333134b3d",
                        "name": "Hypoallergenic pillow",
                        "is_select": false
                    },
                    {
                        "id": "9f577ec2-34e9-4d5c-87df-868bb8ffae4d",
                        "name": "Infinity Pool",
                        "is_select": false
                    },
                    {
                        "id": "0897bc60-47b1-46dd-a822-2bcaeb07d8e8",
                        "name": "Interconnecting rooms",
                        "is_select": false
                    },
                    {
                        "id": "a662f19e-419c-41a9-a0a0-b0c2f00f24dd",
                        "name": "Iron",
                        "is_select": false
                    },
                    {
                        "id": "46a2ee4a-c711-4dd2-a99d-ce6c6ebf3a31",
                        "name": "Ironing facilities",
                        "is_select": false
                    },
                    {
                        "id": "6107ec89-e45a-43f5-ac25-598f20535951",
                        "name": "Mosquito net",
                        "is_select": false
                    },
                    {
                        "id": "1818a164-cfd0-435a-8398-f7ddc11401f4",
                        "name": "Non-feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "1ca6771c-37ae-4ff6-84d0-4277f27365b0",
                        "name": "Pajamas",
                        "is_select": false
                    },
                    {
                        "id": "3e611ae2-edf5-4473-ae7b-c6ab2d6ce946",
                        "name": "Plunge Pool",
                        "is_select": false
                    },
                    {
                        "id": "a13e0b46-0d5e-4503-bc11-af25b568609a",
                        "name": "Pool cover",
                        "is_select": false
                    },
                    {
                        "id": "86854195-b984-415f-925e-bee9172388dc",
                        "name": "Pool towels",
                        "is_select": false
                    },
                    {
                        "id": "b5687b9d-65b2-4d1a-aa22-b2ef72a26685",
                        "name": "Pool with a view",
                        "is_select": false
                    },
                    {
                        "id": "bc8c3d71-115f-45ff-8d98-6d6c7c1ad6b7",
                        "name": "Private pool",
                        "is_select": false
                    },
                    {
                        "id": "7ba1a081-d56b-4608-9d2e-1110fa4cd601",
                        "name": "Rooftop pool",
                        "is_select": false
                    },
                    {
                        "id": "b808b875-492d-458d-a6bc-720372622767",
                        "name": "Safe",
                        "is_select": false
                    },
                    {
                        "id": "d990b235-5121-4b63-ad8c-5ee1721196b4",
                        "name": "Saltwater pool",
                        "is_select": false
                    },
                    {
                        "id": "b38466d0-9e59-4736-8204-0b01d379faa0",
                        "name": "Shallow end",
                        "is_select": false
                    },
                    {
                        "id": "bc33df3d-9f0f-425b-a0df-46ab53e7aa83",
                        "name": "Sitting area",
                        "is_select": false
                    },
                    {
                        "id": "441d79fb-82a4-458a-8bd2-8f91f40f5e2b",
                        "name": "Socket near the bed",
                        "is_select": false
                    },
                    {
                        "id": "30d5b8ec-8f2e-4fc6-899a-5714a9d7be63",
                        "name": "Sofa",
                        "is_select": false
                    },
                    {
                        "id": "06b027ce-138e-4f61-bc25-10165e24cbfd",
                        "name": "Sofa bed",
                        "is_select": false
                    },
                    {
                        "id": "f2d7c256-4b44-48bf-a2a0-04917f773784",
                        "name": "Soundproof",
                        "is_select": false
                    },
                    {
                        "id": "f39be007-f9d0-413a-9434-335578838ac8",
                        "name": "Suit press",
                        "is_select": false
                    },
                    {
                        "id": "892e321b-5422-48d7-8c1d-950486a1ea57",
                        "name": "Tile/Marble floor",
                        "is_select": false
                    },
                    {
                        "id": "7bdbc02c-4cf0-487a-9faa-bbe25447795a",
                        "name": "Toilet paper",
                        "is_select": false
                    },
                    {
                        "id": "5f84000a-c63d-4234-93c7-dcf36434b1ff",
                        "name": "Towels",
                        "is_select": false
                    },
                    {
                        "id": "b8937943-2b2c-4818-8943-cea8f0754fe6",
                        "name": "Trash cans",
                        "is_select": false
                    },
                    {
                        "id": "26ad03ba-c55c-489a-a550-92f19982df53",
                        "name": "View",
                        "is_select": false
                    },
                    {
                        "id": "ec55c805-84d8-4457-b5b8-fec22adf8ec6",
                        "name": "Walk-in closet",
                        "is_select": false
                    },
                    {
                        "id": "8d560293-82fd-4135-99df-761aa540dbb7",
                        "name": "Wardrobe or closet",
                        "is_select": false
                    },
                    {
                        "id": "b0d7bf28-75d2-4f0a-8ad9-baabe2e50608",
                        "name": "Washing machine",
                        "is_select": false
                    },
                    {
                        "id": "17d5df9c-0bb9-4390-8177-9dc05b0ea92c",
                        "name": "Yukata",
                        "is_select": false
                    },
                    {
                        "id": "336a2aa5-fb92-432e-9d15-496f0638fd60",
                        "name": "Air purifiers",
                        "is_select": false
                    },
                    {
                        "id": "f822da69-c6d3-439d-aab2-58c28e09dc39",
                        "name": "Hand sanitizer",
                        "is_select": false
                    },
                    {
                        "id": "932710b6-8c27-4184-b3b3-7df86e2fb36f",
                        "name": "Bolsters",
                        "is_select": false
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/master/bill-type

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of bill Type id please not set param if you want create new bill type Example: officiis

name   string     

Name of Room Type Example: aut

is_permanent   bolean     

set true if bill permanent can't update or edit Example: labore

Remove Bill Type

Example request:
curl --request POST \
    "http://localhost/api/v1/master/bill-type/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"nulla\"
}"
const url = new URL(
    "http://localhost/api/v1/master/bill-type/remove"
);

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

let body = {
    "id": "nulla"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/bill-type/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'nulla',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Room Type",
    "data": []
}
 

Request   

POST api/v1/master/bill-type/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Bill Type Example: nulla

Booking Add Bill

Add Bill

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/bill/add" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"voluptatem\",
    \"booking_room_id\": \"animi\",
    \"property_product_id\": \"assumenda\",
    \"rate_plan_id\": \"iste\",
    \"tax_and_service_id\": \"ipsam\",
    \"guest_id\": \"non\",
    \"agent_id\": \"ut\",
    \"bill_date\": \"accusantium\",
    \"bill_date_start\": \"eos\",
    \"bill_date_end\": \"consequatur\",
    \"amount\": 7,
    \"remark\": \"error\",
    \"is_inclusion\": \"sequi\",
    \"detail_list\": null
}"
const url = new URL(
    "http://localhost/api/v1/booking/bill/add"
);

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

let body = {
    "booking_id": "voluptatem",
    "booking_room_id": "animi",
    "property_product_id": "assumenda",
    "rate_plan_id": "iste",
    "tax_and_service_id": "ipsam",
    "guest_id": "non",
    "agent_id": "ut",
    "bill_date": "accusantium",
    "bill_date_start": "eos",
    "bill_date_end": "consequatur",
    "amount": 7,
    "remark": "error",
    "is_inclusion": "sequi",
    "detail_list": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/bill/add';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'voluptatem',
            'booking_room_id' => 'animi',
            'property_product_id' => 'assumenda',
            'rate_plan_id' => 'iste',
            'tax_and_service_id' => 'ipsam',
            'guest_id' => 'non',
            'agent_id' => 'ut',
            'bill_date' => 'accusantium',
            'bill_date_start' => 'eos',
            'bill_date_end' => 'consequatur',
            'amount' => 7,
            'remark' => 'error',
            'is_inclusion' => 'sequi',
            'detail_list' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/bill/add

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: voluptatem

booking_room_id   string     

uuid of booking room Example: animi

property_product_id   string     

uuid of Property Product Example: assumenda

rate_plan_id   string     

if bill type is roomcharge need uuid rate plan type Example: iste

tax_and_service_id   string     

uuid of tax and service Example: ipsam

guest_id   string     

if provide guest need uuid guest profile Example: non

agent_id   string     

if provide agent name need uuid agent property Example: ut

bill_date   string  optional    

add this value bill date with format date Y-m-d. Exmp:2024-02-18 Example: accusantium

bill_date_start   string  optional    

add this value bulk bill date with format date Y-m-d. Exmp:2024-02-18 Example: eos

bill_date_end   string  optional    

add this value bulk bill date with format date Y-m-d. Exmp:2024-02-18 Example: consequatur

amount   integer     

of bill amount Example: 7

remark   string     

remark Of bill Example: error

is_inclusion   bolean     

if bill is inclusion true Example: sequi

detail_list   object  optional    

this list room for this booking.

Option Add Bill Input

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/bill/add/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"coa\",
    \"property_id\": \"non\",
    \"query\": \"eum\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/bill/add/dropdown/list"
);

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

let body = {
    "mode": "coa",
    "property_id": "non",
    "query": "eum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/bill/add/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'coa',
            'property_id' => 'non',
            'query' => 'eum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Founds",
    "data": [
        {
            "key": "f0c07a03-0e9c-4cf2-a362-a29ac4f28bbd",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "6dca87d1-bbe1-4255-9f54-df139399eb3a",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "e85e160d-495a-4a02-9f26-8867bd38a722",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "69fd3521-dc0e-434c-bdba-39e56e3a0c90",
            "label": "Mrs. Ernawati Ni Luh"
        }
    ]
}
 

Request   

POST api/v1/booking/bill/add/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: coa

Must be one of:
  • bill_type
  • tax_and_service
  • guest
  • agent
  • property_departments
  • product_category
  • product
property_id   string     

uuid of Room Type Example: non

query   string  optional    

this use for guest Example: eum

Remove Bill

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/bill/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"ut\",
    \"booking_room_id\": \"delectus\",
    \"booking_bill_id\": \"enim\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/bill/remove"
);

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

let body = {
    "booking_id": "ut",
    "booking_room_id": "delectus",
    "booking_bill_id": "enim"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/bill/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'ut',
            'booking_room_id' => 'delectus',
            'booking_bill_id' => 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/bill/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: ut

booking_room_id   string     

uuid of booking room Example: delectus

booking_bill_id   string     

uuid of booking Bill Example: enim

Booking Add Commision

Add Commision

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/commision/add" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"qui\",
    \"booking_room_id\": \"consequatur\",
    \"comm_remark\": \"libero\",
    \"comm_date\": \"et\",
    \"amount\": 16,
    \"booking_commision_id\": \"quisquam\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/commision/add"
);

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

let body = {
    "booking_id": "qui",
    "booking_room_id": "consequatur",
    "comm_remark": "libero",
    "comm_date": "et",
    "amount": 16,
    "booking_commision_id": "quisquam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/commision/add';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'qui',
            'booking_room_id' => 'consequatur',
            'comm_remark' => 'libero',
            'comm_date' => 'et',
            'amount' => 16,
            'booking_commision_id' => 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Commision",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/commision/add

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: qui

booking_room_id   string     

uuid of booking room Example: consequatur

comm_remark   string     

remark Of bill Example: libero

comm_date   string  optional    

add this value commision date with format date Y-m-d H:i:s. Exmp:2024-02-18 Example: et

amount   integer     

of bill amount Example: 16

booking_commision_id   string     

uuid of Booking Commision, if want update commision data trx not close Example: quisquam

Remove Commision

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/commision/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"molestiae\",
    \"booking_room_id\": \"deleniti\",
    \"booking_commision_id\": \"magni\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/commision/remove"
);

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

let body = {
    "booking_id": "molestiae",
    "booking_room_id": "deleniti",
    "booking_commision_id": "magni"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/commision/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'molestiae',
            'booking_room_id' => 'deleniti',
            'booking_commision_id' => 'magni',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Commision ",
    "data": []
}
 

Request   

POST api/v1/booking/commision/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: molestiae

booking_room_id   string     

uuid of booking room Example: deleniti

booking_commision_id   string     

uuid of booking Payment Example: magni

Option Add Commision Input

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/commision/add/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"agent\",
    \"property_id\": \"provident\",
    \"query\": \"qui\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/commision/add/dropdown/list"
);

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

let body = {
    "mode": "agent",
    "property_id": "provident",
    "query": "qui"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/commision/add/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'agent',
            'property_id' => 'provident',
            'query' => 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Founds",
    "data": [
        {
            "key": "f0c07a03-0e9c-4cf2-a362-a29ac4f28bbd",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "6dca87d1-bbe1-4255-9f54-df139399eb3a",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "e85e160d-495a-4a02-9f26-8867bd38a722",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "69fd3521-dc0e-434c-bdba-39e56e3a0c90",
            "label": "Mrs. Ernawati Ni Luh"
        }
    ]
}
 

Request   

POST api/v1/booking/commision/add/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: agent

Must be one of:
  • agent
property_id   string     

uuid of Property Example: provident

query   string  optional    

this use for guest Example: qui

Booking Add Discount

Add Discount

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/discount/add" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"distinctio\",
    \"booking_room_id\": \"et\",
    \"discount_option_id\": \"voluptates\",
    \"discount_for\": \"agent\",
    \"discount_remark\": \"eveniet\",
    \"discount_date\": \"omnis\",
    \"amount\": 4,
    \"booking_discount_id\": \"vero\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/discount/add"
);

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

let body = {
    "booking_id": "distinctio",
    "booking_room_id": "et",
    "discount_option_id": "voluptates",
    "discount_for": "agent",
    "discount_remark": "eveniet",
    "discount_date": "omnis",
    "amount": 4,
    "booking_discount_id": "vero"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/discount/add';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'distinctio',
            'booking_room_id' => 'et',
            'discount_option_id' => 'voluptates',
            'discount_for' => 'agent',
            'discount_remark' => 'eveniet',
            'discount_date' => 'omnis',
            'amount' => 4,
            'booking_discount_id' => 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Discount",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/discount/add

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: distinctio

booking_room_id   string     

uuid of booking room Example: et

discount_option_id   string     

uuid of Discount options Example: voluptates

discount_for   string  optional    

The discount. Example: agent

Must be one of:
  • agent
  • guest
discount_remark   string     

remark Of Discount Example: eveniet

discount_date   string  optional    

add this value Discount date with format date Y-m-d H:i:s. Exmp:2024-02-18 Example: omnis

amount   integer     

of bill amount Example: 4

booking_discount_id   string     

uuid of Booking Discount, if want update discount data trx not close Example: vero

Remove Discount

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/discount/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"illo\",
    \"booking_room_id\": \"ex\",
    \"booking_discount_id\": \"laboriosam\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/discount/remove"
);

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

let body = {
    "booking_id": "illo",
    "booking_room_id": "ex",
    "booking_discount_id": "laboriosam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/discount/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'illo',
            'booking_room_id' => 'ex',
            'booking_discount_id' => 'laboriosam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Discount ",
    "data": []
}
 

Request   

POST api/v1/booking/discount/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: illo

booking_room_id   string     

uuid of booking room Example: ex

booking_discount_id   string     

uuid of booking Discount Example: laboriosam

Option Add Discount Input

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/discount/add/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"agent\",
    \"property_id\": \"ducimus\",
    \"query\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/discount/add/dropdown/list"
);

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

let body = {
    "mode": "agent",
    "property_id": "ducimus",
    "query": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/discount/add/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'agent',
            'property_id' => 'ducimus',
            'query' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Founds",
    "data": [
        {
            "key": "f0c07a03-0e9c-4cf2-a362-a29ac4f28bbd",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "6dca87d1-bbe1-4255-9f54-df139399eb3a",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "e85e160d-495a-4a02-9f26-8867bd38a722",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "69fd3521-dc0e-434c-bdba-39e56e3a0c90",
            "label": "Mrs. Ernawati Ni Luh"
        }
    ]
}
 

Request   

POST api/v1/booking/discount/add/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: agent

Must be one of:
  • agent
  • guest
  • discountlist
property_id   string     

uuid of Property Example: ducimus

query   string  optional    

this use for guest Example: est

Booking Add Payment

Add Payment

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/payment/add" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"et\",
    \"booking_room_id\": \"quasi\",
    \"payment_option_id\": \"et\",
    \"payment_date\": \"est\",
    \"amount\": 20,
    \"remark\": \"eaque\",
    \"payment_method\": null
}"
const url = new URL(
    "http://localhost/api/v1/booking/payment/add"
);

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

let body = {
    "booking_id": "et",
    "booking_room_id": "quasi",
    "payment_option_id": "et",
    "payment_date": "est",
    "amount": 20,
    "remark": "eaque",
    "payment_method": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/payment/add';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'et',
            'booking_room_id' => 'quasi',
            'payment_option_id' => 'et',
            'payment_date' => 'est',
            'amount' => 20,
            'remark' => 'eaque',
            'payment_method' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/payment/add

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: et

booking_room_id   string     

uuid of booking room Example: quasi

payment_option_id   string     

uuid of Option Example: et

payment_date   string  optional    

add this value payment date with format date Y-m-d H:i:s. Exmp:2024-02-18 Example: est

amount   integer     

of payment amount Example: 20

remark   string     

remark Of bill Example: eaque

payment_method   object[]  optional    

please add uuid payment_option_methods and amount.

Remove Payment

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/payment/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"eos\",
    \"booking_room_id\": \"sint\",
    \"booking_payment_id\": \"mollitia\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/payment/remove"
);

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

let body = {
    "booking_id": "eos",
    "booking_room_id": "sint",
    "booking_payment_id": "mollitia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/payment/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'eos',
            'booking_room_id' => 'sint',
            'booking_payment_id' => 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Payment ",
    "data": []
}
 

Request   

POST api/v1/booking/payment/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: eos

booking_room_id   string     

uuid of booking room Example: sint

booking_payment_id   string     

uuid of booking Payment Example: mollitia

Option Add Payment Input

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/payment/add/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"payment_option\",
    \"property_id\": \"autem\",
    \"payment_id\": \"in\",
    \"booking_room_id\": \"et\",
    \"query\": \"enim\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/payment/add/dropdown/list"
);

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

let body = {
    "mode": "payment_option",
    "property_id": "autem",
    "payment_id": "in",
    "booking_room_id": "et",
    "query": "enim"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/payment/add/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'payment_option',
            'property_id' => 'autem',
            'payment_id' => 'in',
            'booking_room_id' => 'et',
            'query' => 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Founds",
    "data": [
        {
            "key": "f0c07a03-0e9c-4cf2-a362-a29ac4f28bbd",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "6dca87d1-bbe1-4255-9f54-df139399eb3a",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "e85e160d-495a-4a02-9f26-8867bd38a722",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "69fd3521-dc0e-434c-bdba-39e56e3a0c90",
            "label": "Mrs. Ernawati Ni Luh"
        }
    ]
}
 

Request   

POST api/v1/booking/payment/add/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: payment_option

Must be one of:
  • payment_option
  • payment_method
  • list_outstanding_bill
property_id   string     

uuid of Property Example: autem

payment_id   string     

uuid of Payment Option use this parameter when mode payment_method Example: in

booking_room_id   string     

uuid of Booking Room this Option use this parameter when mode list_outstanding_bill Example: et

query   string  optional    

this use for guest Example: enim

Booking Chart

Chart Calendar Data

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/calendar/chart" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sit\",
    \"start_date\": \"quas\",
    \"end_date\": \"assumenda\",
    \"room_type_id\": \"repellat\",
    \"bed_type_id\": \"dolores\",
    \"booking_no\": \"dolorum\",
    \"show_unsigned_room\": \"false\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/calendar/chart"
);

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

let body = {
    "property_id": "sit",
    "start_date": "quas",
    "end_date": "assumenda",
    "room_type_id": "repellat",
    "bed_type_id": "dolores",
    "booking_no": "dolorum",
    "show_unsigned_room": "false"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/calendar/chart';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sit',
            'start_date' => 'quas',
            'end_date' => 'assumenda',
            'room_type_id' => 'repellat',
            'bed_type_id' => 'dolores',
            'booking_no' => 'dolorum',
            'show_unsigned_room' => 'false',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/calendar/chart

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: sit

start_date   string     

chart start date format Y-m-d. Example: quas

end_date   string     

chart end date maximum 60 days format Y-m-d. Example: assumenda

room_type_id   string  optional    

uuid room type if all room please dont provide room type id. Example: repellat

bed_type_id   string  optional    

uuid bed type if all bed please dont provide bed type id. Example: dolores

booking_no   string  optional    

Booking number. Example: dolorum

show_unsigned_room   boolean.  optional    

Example: false

Summary Info Data

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/summary/info" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"aut\",
    \"periode\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/summary/info"
);

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

let body = {
    "property_id": "aut",
    "periode": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/summary/info';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'aut',
            'periode' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/summary/info

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: aut

periode   string     

chart start date format Y-m Example: est

Summary Not Assigned List

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/summary/unanssigned" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolores\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/summary/unanssigned"
);

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

let body = {
    "property_id": "dolores"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/summary/unanssigned';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/summary/unanssigned

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: dolores

Summary Outstanding List

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/summary/bookingoutstanding" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quia\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/summary/bookingoutstanding"
);

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

let body = {
    "property_id": "quia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/summary/bookingoutstanding';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/summary/bookingoutstanding

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quia

Booking Editor

Option Booking Input

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/editor/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"magnam\",
    \"mode\": \"source_list\",
    \"query\": \"dolorem\",
    \"findby\": \"first_name\",
    \"findvalue\": \"vel\",
    \"room_type_id\": \"quia\",
    \"arival_date\": \"est\",
    \"depature_date\": \"dolores\",
    \"total_adult\": \"qui\",
    \"total_child\": \"esse\",
    \"default_rate\": \"labore\",
    \"default_extra_adult_rate\": \"accusantium\",
    \"default_extra_child_rate\": \"praesentium\",
    \"default_rate_detail\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/editor/dropdownoptionlist"
);

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

let body = {
    "property_id": "magnam",
    "mode": "source_list",
    "query": "dolorem",
    "findby": "first_name",
    "findvalue": "vel",
    "room_type_id": "quia",
    "arival_date": "est",
    "depature_date": "dolores",
    "total_adult": "qui",
    "total_child": "esse",
    "default_rate": "labore",
    "default_extra_adult_rate": "accusantium",
    "default_extra_child_rate": "praesentium",
    "default_rate_detail": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/editor/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'magnam',
            'mode' => 'source_list',
            'query' => 'dolorem',
            'findby' => 'first_name',
            'findvalue' => 'vel',
            'room_type_id' => 'quia',
            'arival_date' => 'est',
            'depature_date' => 'dolores',
            'total_adult' => 'qui',
            'total_child' => 'esse',
            'default_rate' => 'labore',
            'default_extra_adult_rate' => 'accusantium',
            'default_extra_child_rate' => 'praesentium',
            'default_rate_detail' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/booking/editor/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: magnam

mode   string  optional    

The language. Example: source_list

Must be one of:
  • roomtypelist
  • agent
  • paymentoption
  • roomavailable
  • guestprefix
  • guestcountry
  • guestnationality
  • guestidentitytype
  • guestexistingfind
  • gueststatusoption
  • propertycurrency
  • taxandservice
  • roomratedaily
  • roomrateplan
  • bookingstatus
  • paymentcollecttype
query   string  optional    

this using for in case option have filter Example: dolorem

findby   string  optional    

use this parameter when mode "guestexistingfind". Example: first_name

Must be one of:
  • first_name
  • name
  • identityno
  • email
  • phone
findvalue   string  optional    

use this parameter when mode "guestexistingfind". Example: vel

room_type_id   string  optional    

use this parameter when mode "roomrateplan". Example: quia

arival_date   string  optional    

use this parameter whed get roomavailable. Exmp: Y-m-d Example: est

depature_date   string  optional    

use this parameter whed get roomavailable. Exmp: Y-m-d, Example: dolores

total_adult   string  optional    

use this parameter when mode "roomrateplan". Exmp:1, Example: qui

total_child   string  optional    

use this parameter when mode "roomrateplan". Exmp:1, Example: esse

default_rate   string  optional    

use this parameter when get roomratedaily with set default rate. Example: labore

default_extra_adult_rate   string  optional    

use this parameter when get roomratedaily with set default rate. Example: accusantium

default_extra_child_rate   string  optional    

use this parameter when get roomratedaily with set default rate. Example: praesentium

default_rate_detail   string  optional    

use this parameter required when get roomratedaily with default rate. Example: aut

Create Booking

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/editor/create" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"blanditiis\",
    \"property_agent_id\": \"repellendus\",
    \"booking_status_id\": \"dolorum\",
    \"guest_booking\": {
        \"guest_prefix_id\": \"de7c9a42-67f9-470c-9547-0895c0fbf139\",
        \"first_name\": \"Rai Octa Vioni\",
        \"last_name\": \"Ni Luh\",
        \"country_id\": \"f2afc2ea-d2ee-40b7-89e5-553ad44a38c0\",
        \"national_id\": \"fc63c980-c572-481f-abbc-080abf282f14\",
        \"identity_type_id\": \"41d8118d-0136-425f-a0e6-9100fa2f5814\",
        \"identity_no\": \"20234560000000\",
        \"email\": \"[email protected]\",
        \"phone\": \"+6281805410047\",
        \"address\": \"jl Raya Umalas 1, gg surya no 2 kerobokan kelod, kuta utara, badung bali\"
    },
    \"booking_reference\": \"nostrum\",
    \"hold_date\": \"asperiores\",
    \"total_adults\": 1,
    \"total_childrens\": 8,
    \"remark\": \"non\",
    \"arival\": \"2024-02-18\",
    \"depature\": \"2024-02-18\",
    \"room_lists\": {
        \"room_type_id\": \"c048f3f8-52e2-4492-9233-b32512249e8c\",
        \"room_id\": \"86649f37-4afa-4f65-a042-324e3954fffb\",
        \"guest_in_room\": {
            \"use_booking_guest\": true
        },
        \"adult\": 2,
        \"child\": 1,
        \"room_rate\": [
            {
                \"rate_plan_id\": \"cd9a9cf8-1fd8-4f99-9971-d365a295909a\",
                \"tax_and_service_id\": \"77ce3c78-36d6-4aee-9911-04121db5743d\",
                \"rate_date\": \"2024-07-08\",
                \"rate\": 350000,
                \"is_inherit_rate_plan\": true
            }
        ]
    }
}"
const url = new URL(
    "http://localhost/api/v1/booking/editor/create"
);

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

let body = {
    "property_id": "blanditiis",
    "property_agent_id": "repellendus",
    "booking_status_id": "dolorum",
    "guest_booking": {
        "guest_prefix_id": "de7c9a42-67f9-470c-9547-0895c0fbf139",
        "first_name": "Rai Octa Vioni",
        "last_name": "Ni Luh",
        "country_id": "f2afc2ea-d2ee-40b7-89e5-553ad44a38c0",
        "national_id": "fc63c980-c572-481f-abbc-080abf282f14",
        "identity_type_id": "41d8118d-0136-425f-a0e6-9100fa2f5814",
        "identity_no": "20234560000000",
        "email": "[email protected]",
        "phone": "+6281805410047",
        "address": "jl Raya Umalas 1, gg surya no 2 kerobokan kelod, kuta utara, badung bali"
    },
    "booking_reference": "nostrum",
    "hold_date": "asperiores",
    "total_adults": 1,
    "total_childrens": 8,
    "remark": "non",
    "arival": "2024-02-18",
    "depature": "2024-02-18",
    "room_lists": {
        "room_type_id": "c048f3f8-52e2-4492-9233-b32512249e8c",
        "room_id": "86649f37-4afa-4f65-a042-324e3954fffb",
        "guest_in_room": {
            "use_booking_guest": true
        },
        "adult": 2,
        "child": 1,
        "room_rate": [
            {
                "rate_plan_id": "cd9a9cf8-1fd8-4f99-9971-d365a295909a",
                "tax_and_service_id": "77ce3c78-36d6-4aee-9911-04121db5743d",
                "rate_date": "2024-07-08",
                "rate": 350000,
                "is_inherit_rate_plan": true
            }
        ]
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/editor/create';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'blanditiis',
            'property_agent_id' => 'repellendus',
            'booking_status_id' => 'dolorum',
            'guest_booking' => [
                'guest_prefix_id' => 'de7c9a42-67f9-470c-9547-0895c0fbf139',
                'first_name' => 'Rai Octa Vioni',
                'last_name' => 'Ni Luh',
                'country_id' => 'f2afc2ea-d2ee-40b7-89e5-553ad44a38c0',
                'national_id' => 'fc63c980-c572-481f-abbc-080abf282f14',
                'identity_type_id' => '41d8118d-0136-425f-a0e6-9100fa2f5814',
                'identity_no' => '20234560000000',
                'email' => '[email protected]',
                'phone' => '+6281805410047',
                'address' => 'jl Raya Umalas 1, gg surya no 2 kerobokan kelod, kuta utara, badung bali',
            ],
            'booking_reference' => 'nostrum',
            'hold_date' => 'asperiores',
            'total_adults' => 1,
            'total_childrens' => 8,
            'remark' => 'non',
            'arival' => '2024-02-18',
            'depature' => '2024-02-18',
            'room_lists' => [
                'room_type_id' => 'c048f3f8-52e2-4492-9233-b32512249e8c',
                'room_id' => '86649f37-4afa-4f65-a042-324e3954fffb',
                'guest_in_room' => [
                    'use_booking_guest' => true,
                ],
                'adult' => 2,
                'child' => 1,
                'room_rate' => [
                    [
                        'rate_plan_id' => 'cd9a9cf8-1fd8-4f99-9971-d365a295909a',
                        'tax_and_service_id' => '77ce3c78-36d6-4aee-9911-04121db5743d',
                        'rate_date' => '2024-07-08',
                        'rate' => 350000,
                        'is_inherit_rate_plan' => true,
                    ],
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/editor/create

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: blanditiis

property_agent_id   string     

uuid of Property Agent. Example: repellendus

booking_status_id   string     

uuid of Booking Status. Example: dolorum

guest_booking   object     

detail of Guest make Bookig.

booking_reference   string  optional    

add this value if hafe booking reference. Example: nostrum

hold_date   string  optional    

add this value booking status hold with format date Y-m-d. Exmp:2024-02-18 Example: asperiores

total_adults   integer  optional    

total Adult Guest on this booking Example: 1

total_childrens   integer  optional    

total Childrens Guest on this booking Example: 8

remark   string  optional    

add this value with sepecial request on this reservation Example: non

arival   string  optional    

add this value arival format date Y-m-d. Example: 2024-02-18

depature   string  optional    

add this value depature format date Y-m-d. Example: 2024-02-18

room_lists   object  optional    

this list room for this booking.

Calculate Booking Summary

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/editor/calculate-summary" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"saepe\",
    \"room_lists\": null
}"
const url = new URL(
    "http://localhost/api/v1/booking/editor/calculate-summary"
);

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

let body = {
    "property_id": "saepe",
    "room_lists": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/editor/calculate-summary';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'saepe',
            'room_lists' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/editor/calculate-summary

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: saepe

room_lists   object     

detail Room List.

Detail Booking

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quas\",
    \"booking_id\": \"ipsa\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/detail"
);

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

let body = {
    "property_id": "quas",
    "booking_id": "ipsa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quas',
            'booking_id' => 'ipsa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: quas

booking_id   string     

uuid of Booking. Example: ipsa

Detail Booking Room

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/detail/room" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"culpa\",
    \"booking_room_id\": \"dolore\",
    \"mode\": \"\'roomrate\'\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/detail/room"
);

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

let body = {
    "property_id": "culpa",
    "booking_room_id": "dolore",
    "mode": "'roomrate'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/detail/room';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'culpa',
            'booking_room_id' => 'dolore',
            'mode' => '\'roomrate\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/detail/room

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: culpa

booking_room_id   string     

uuid of Booking. Example: dolore

mode   string  optional    

mode result. Example: 'roomrate'

Must be one of:
  • ['detail'
  • 'short'
  • 'bill'
  • 'guestbill'
  • 'agentbill'
  • 'payment'
  • 'roomrate'
  • 'guesthistory'
  • 'ota_meta'
  • 'ota_service_req'
  • 'ota_taxes']

Cancel Booking

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/cancel" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolores\",
    \"booking_id\": \"debitis\",
    \"booking_room_id\": \"est\",
    \"cancel_status_id\": \"totam\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/cancel"
);

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

let body = {
    "property_id": "dolores",
    "booking_id": "debitis",
    "booking_room_id": "est",
    "cancel_status_id": "totam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/cancel';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolores',
            'booking_id' => 'debitis',
            'booking_room_id' => 'est',
            'cancel_status_id' => 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Cancel Booking",
    "data": []
}
 

Request   

POST api/v1/booking/cancel

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: dolores

booking_id   string     

uuid of booking Example: debitis

booking_room_id   string  optional    

optional uuid of booking room Example: est

cancel_status_id   string     

uuid of Cancel Status Example: totam

Confirm Booking

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/confirm" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"eaque\",
    \"booking_id\": \"et\",
    \"confirm_status_id\": \"adipisci\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/confirm"
);

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

let body = {
    "property_id": "eaque",
    "booking_id": "et",
    "confirm_status_id": "adipisci"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/confirm';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'eaque',
            'booking_id' => 'et',
            'confirm_status_id' => 'adipisci',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Cancel Booking",
    "data": []
}
 

Request   

POST api/v1/booking/confirm

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: eaque

booking_id   string     

uuid of booking Example: et

confirm_status_id   string     

uuid of Confirm Status Example: adipisci

Update Booking Additional Info

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"commodi\",
    \"booking_id\": \"voluptas\",
    \"property_agent_id\": \"qui\",
    \"booking_reference\": \"ipsa\",
    \"remark\": \"et\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/update"
);

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

let body = {
    "property_id": "commodi",
    "booking_id": "voluptas",
    "property_agent_id": "qui",
    "booking_reference": "ipsa",
    "remark": "et"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'commodi',
            'booking_id' => 'voluptas',
            'property_agent_id' => 'qui',
            'booking_reference' => 'ipsa',
            'remark' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Booking Additional Info",
    "data": []
}
 

Request   

POST api/v1/booking/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: commodi

booking_id   string     

uuid of booking Example: voluptas

property_agent_id   string     

uuid of Property Agent. Example: qui

booking_reference   string  optional    

add this value if hafe booking reference. Example: ipsa

remark   string  optional    

add this value with sepecial request on this reservation Example: et

Create Guest History

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/guest-history/save" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"vero\",
    \"guest_id\": \"libero\",
    \"booking_id\": \"aspernatur\",
    \"booking_room_id\": \"ut\",
    \"history_remark\": \"sit\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/guest-history/save"
);

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

let body = {
    "property_id": "vero",
    "guest_id": "libero",
    "booking_id": "aspernatur",
    "booking_room_id": "ut",
    "history_remark": "sit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/guest-history/save';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'vero',
            'guest_id' => 'libero',
            'booking_id' => 'aspernatur',
            'booking_room_id' => 'ut',
            'history_remark' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/guest-history/save

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: vero

guest_id   string     

uuid of Guest ID Example: libero

booking_id   string     

uuid of Booking ID Example: aspernatur

booking_room_id   string     

uuid of Booking Room ID Example: ut

history_remark   string     

Name Payment Method Example: sit

Detail Guest History

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/guest-history/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"error\",
    \"guest_history_id\": \"omnis\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/guest-history/detail"
);

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

let body = {
    "property_id": "error",
    "guest_history_id": "omnis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/guest-history/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'error',
            'guest_history_id' => 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest History detail found",
    "data": {
        "guest": {
            "id": "2da48c55-2688-443f-99b3-47ab29616604",
            "guest_name": "Mr. Takayuki Nomoto"
        },
        "log_remark": {
            "id": "8f0fcd19-8a15-408f-953f-85f9843f5063",
            "remark": "Guest History"
        },
        "booking_id": "c5411a1e-86f1-4a4b-9aec-3a1361e5d276",
        "booking_no": "20240927/HOTELDUMMY/0000000004",
        "booking_room_id": "7a3f34ff-814e-42be-9013-68d490e462a1",
        "booking_room_type": "Standard",
        "booking_room": "104",
        "created_by": {
            "id": "0ad093e6-3587-4257-a118-0d6265d3347c",
            "name": "Master User Api"
        },
        "history_remark": "test remark additional"
    }
}
 

Request   

POST api/v1/booking/guest-history/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property id Example: error

guest_history_id   string     

uuid of Payment Option id set value create if new data Example: omnis

Special Request Update

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/room-special-request/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sit\",
    \"booking_id\": \"atque\",
    \"booking_room_id\": \"non\",
    \"special_request\": \"sint\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/room-special-request/update"
);

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

let body = {
    "property_id": "sit",
    "booking_id": "atque",
    "booking_room_id": "non",
    "special_request": "sint"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/room-special-request/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sit',
            'booking_id' => 'atque',
            'booking_room_id' => 'non',
            'special_request' => 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Booking Room Special Request",
    "data": {
        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
        "special_request": "this special request Testing update test",
        "user_created": {
            "id": "7acc2f8b-1a4c-406a-8731-fceeea5cf202",
            "name": "Agus Bawa Nadi Putra"
        },
        "date_created": "2024-10-17T10:06:29.000000Z"
    }
}
 

Request   

POST api/v1/booking/room-special-request/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: sit

booking_id   string     

uuid of booking Example: atque

booking_room_id   string     

uuid of booking room Example: non

special_request   string     

remark Of Special Request Example: sint

Special Request Detail

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/room-special-request/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"eligendi\",
    \"booking_id\": \"nesciunt\",
    \"booking_room_id\": \"a\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/room-special-request/detail"
);

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

let body = {
    "property_id": "eligendi",
    "booking_id": "nesciunt",
    "booking_room_id": "a"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/room-special-request/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'eligendi',
            'booking_id' => 'nesciunt',
            'booking_room_id' => 'a',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Booking Room Special Request",
    "data": {
        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
        "special_request": "this special request Testing update test",
        "user_created": {
            "id": "7acc2f8b-1a4c-406a-8731-fceeea5cf202",
            "name": "Agus Bawa Nadi Putra"
        },
        "date_created": "2024-10-17T10:06:29.000000Z"
    }
}
 

Request   

POST api/v1/booking/room-special-request/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: eligendi

booking_id   string     

uuid of booking Example: nesciunt

booking_room_id   string     

uuid of booking room Example: a

Change Guest in Room

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/guest-inroom/change" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"ab\",
    \"booking_room_id\": \"repellat\",
    \"guest_id\": \"perspiciatis\",
    \"guest_prefix_id\": \"veniam\",
    \"first_name\": \"porro\",
    \"last_name\": \"illum\",
    \"country_id\": \"vel\",
    \"national_id\": \"nobis\",
    \"identity_type_id\": \"fugiat\",
    \"identity_no\": \"quod\",
    \"email\": \"[email protected]\",
    \"phone\": \"minima\",
    \"address\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/guest-inroom/change"
);

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

let body = {
    "property_id": "ab",
    "booking_room_id": "repellat",
    "guest_id": "perspiciatis",
    "guest_prefix_id": "veniam",
    "first_name": "porro",
    "last_name": "illum",
    "country_id": "vel",
    "national_id": "nobis",
    "identity_type_id": "fugiat",
    "identity_no": "quod",
    "email": "[email protected]",
    "phone": "minima",
    "address": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/guest-inroom/change';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'ab',
            'booking_room_id' => 'repellat',
            'guest_id' => 'perspiciatis',
            'guest_prefix_id' => 'veniam',
            'first_name' => 'porro',
            'last_name' => 'illum',
            'country_id' => 'vel',
            'national_id' => 'nobis',
            'identity_type_id' => 'fugiat',
            'identity_no' => 'quod',
            'email' => '[email protected]',
            'phone' => 'minima',
            'address' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Change Guest in Room",
    "data": []
}
 

Request   

POST api/v1/booking/guest-inroom/change

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: ab

booking_room_id   string     

uuid of booking room Example: repellat

guest_id   string     

uuid of Property Guest Profile this parameter just need if want change with existing profile Example: perspiciatis

guest_prefix_id   string     

uuid of Guest Prefix Example: veniam

first_name   string     

First Name Of Guest Profile Example: porro

last_name   string     

Last Name Of Guest Profile Example: illum

country_id   string     

uuid of Country Example: vel

national_id   string     

uuid of National same use country data Example: nobis

identity_type_id   string     

uuid of Guest Identity Type Example: fugiat

identity_no   string     

Identity Number Of Guest Profile Example: quod

email   string     

Email Of Guest Profile Example: [email protected]

phone   string     

Phone Of Guest Profile Example: minima

address   string     

Address Of Guest Profile Example: aut

Download Register form

Example request:
curl --request GET \
    --get "http://localhost/api/v1/booking/guest-registration/form/voluptatem" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/booking/guest-registration/form/voluptatem"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/guest-registration/form/voluptatem';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

GET api/v1/booking/guest-registration/form/{key}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

key   string  optional    

this value must encrypt with base64. parameter value {"property_id":null, "booking_room_id":null, "form":(blank,withdetail)}.

responseFile Example: voluptatem

Download Booking Bill

Example request:
curl --request GET \
    --get "http://localhost/api/v1/booking/bill/print/fuga" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/booking/bill/print/fuga"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/bill/print/fuga';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

GET api/v1/booking/bill/print/{key}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

key   string  optional    

this value must encrypt with base64. parameter value {"property_id":null, "booking_room_id":null, "bill_model":(master,agent,guest)}.

responseFile Example: fuga

Booking Guest Status In Room

Update Status

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/guest-status-inroom/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_id\": \"beatae\",
    \"booking_room_id\": \"aliquid\",
    \"guest_status_id\": \"impedit\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/guest-status-inroom/update"
);

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

let body = {
    "booking_id": "beatae",
    "booking_room_id": "aliquid",
    "guest_status_id": "impedit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/guest-status-inroom/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_id' => 'beatae',
            'booking_room_id' => 'aliquid',
            'guest_status_id' => 'impedit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/booking/guest-status-inroom/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_id   string     

uuid of booking Example: beatae

booking_room_id   string     

uuid of booking room Example: aliquid

guest_status_id   string     

uuid of Guest Status Example: impedit

Option Guest Status Input

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/guest-status-inroom/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"guest_status\",
    \"property_id\": \"asperiores\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/guest-status-inroom/dropdown/list"
);

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

let body = {
    "mode": "guest_status",
    "property_id": "asperiores"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/guest-status-inroom/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'guest_status',
            'property_id' => 'asperiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Founds",
    "data": [
        {
            "key": "f0c07a03-0e9c-4cf2-a362-a29ac4f28bbd",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "6dca87d1-bbe1-4255-9f54-df139399eb3a",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "e85e160d-495a-4a02-9f26-8867bd38a722",
            "label": "Mrs. Ernawati Ni Luh"
        },
        {
            "key": "69fd3521-dc0e-434c-bdba-39e56e3a0c90",
            "label": "Mrs. Ernawati Ni Luh"
        }
    ]
}
 

Request   

POST api/v1/booking/guest-status-inroom/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: guest_status

Must be one of:
  • guest_status
property_id   string     

uuid of Property Example: asperiores

Booking Lists

All Booking List

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quia\",
    \"arival_start_date\": \"enim\",
    \"arival_end_date\": \"dolores\",
    \"booking_no\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/list"
);

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

let body = {
    "property_id": "quia",
    "arival_start_date": "enim",
    "arival_end_date": "dolores",
    "booking_no": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quia',
            'arival_start_date' => 'enim',
            'arival_end_date' => 'dolores',
            'booking_no' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Booking Data",
    "data": {
        "item": [
            {
                "booking_id": "98ae7959-32bd-4626-9f80-a21a8942ac6c",
                "booking_no": "20240704/HOTELDUMMY/0000000001",
                "booking_reference": "Rai Bali Family Trip",
                "booking_by": "Mrs. Rai Octa Vioni Ni Luh",
                "total_nights": 7,
                "total_adults": 0,
                "total_childrens": 0,
                "user_created": "Master User Api",
                "user_updated": null,
                "created_at": "2024-07-04T09:56:59.000000Z",
                "updated_at": "2024-07-04T09:56:59.000000Z",
                "status": {
                    "name": "Confirm",
                    "fg_color": "#ffffff",
                    "bg_color": "#0d6efd"
                },
                "list_room": [
                    {
                        "id": "09256420-2049-4b52-974f-c9e1373cd214",
                        "room_type": "Junior Suite",
                        "room": "207",
                        "guest_in_room": "Mrs. Ernawati Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-08",
                        "depature": "2024-07-15",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    },
                    {
                        "id": "6fec5ea7-10e0-44af-aac6-15b0c8179b6d",
                        "room_type": "Deluxe",
                        "room": "109",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-08",
                        "depature": "2024-07-15",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    },
                    {
                        "id": "8bcb8434-67fe-4240-a2d2-9ed86f6d440b",
                        "room_type": "Standard Balcony",
                        "room": "Not-Assigned",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-08",
                        "depature": "2024-07-15",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ]
            },
            {
                "booking_id": "dbf0007a-6f1b-4cd7-82c2-efcd0369061f",
                "booking_no": "20240705/HOTELDUMMY/0000000002",
                "booking_reference": "Rai Bali Family Trip",
                "booking_by": "Mrs. Rai Octa Vioni Ni Luh",
                "total_nights": 5,
                "total_adults": 0,
                "total_childrens": 0,
                "user_created": "Master User Api",
                "user_updated": null,
                "created_at": "2024-07-05T07:18:48.000000Z",
                "updated_at": "2024-07-05T07:18:48.000000Z",
                "status": {
                    "name": "Confirm",
                    "fg_color": "#ffffff",
                    "bg_color": "#0d6efd"
                },
                "list_room": [
                    {
                        "id": "51f7b71a-05f6-44a3-af09-79d669301826",
                        "room_type": "Standard Balcony",
                        "room": "112",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-15",
                        "depature": "2024-07-20",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    },
                    {
                        "id": "b52e5bad-0e74-4de1-ae84-68599860db46",
                        "room_type": "Junior Suite",
                        "room": "207",
                        "guest_in_room": "Mrs. Ernawati Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-15",
                        "depature": "2024-07-20",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    },
                    {
                        "id": "b2c7a6f0-0b57-47a1-8790-2eda46c6108c",
                        "room_type": "Deluxe",
                        "room": "109",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-15",
                        "depature": "2024-07-20",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ]
            },
            {
                "booking_id": "8e643bde-06e8-4b00-8b74-4c66030738a4",
                "booking_no": "20240705/HOTELDUMMY/0000000003",
                "booking_reference": "Rai Bali Family Trip",
                "booking_by": "Mrs. Rai Octa Vioni Ni Luh",
                "total_nights": 1,
                "total_adults": 0,
                "total_childrens": 0,
                "user_created": "Master User Api",
                "user_updated": null,
                "created_at": "2024-07-05T08:10:51.000000Z",
                "updated_at": "2024-07-05T08:10:51.000000Z",
                "status": {
                    "name": "Confirm",
                    "fg_color": "#ffffff",
                    "bg_color": "#0d6efd"
                },
                "list_room": [
                    {
                        "id": "c3aba6b7-68b6-46e8-945a-4665e20f230e",
                        "room_type": "Standard Balcony",
                        "room": "112",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-20",
                        "depature": "2024-07-21",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    },
                    {
                        "id": "1ea7a559-fdba-4b38-a357-bd61e26e4808",
                        "room_type": "Junior Suite",
                        "room": "207",
                        "guest_in_room": "Mrs. Ernawati Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-20",
                        "depature": "2024-07-21",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    },
                    {
                        "id": "7ebb5f51-ff37-489c-a756-3c85e8cf7382",
                        "room_type": "Deluxe",
                        "room": "109",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-20",
                        "depature": "2024-07-21",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ]
            },
            {
                "booking_id": "5f9cd08e-dc40-4f4e-8fdf-fdfa08bf1bd5",
                "booking_no": "20240711/HOTELDUMMY/0000000004",
                "booking_reference": "Rai Bali Family Trip",
                "booking_by": "Mrs. Rai Octa Vioni Ni Luh",
                "total_nights": 4,
                "total_adults": 0,
                "total_childrens": 0,
                "user_created": "Master User Api",
                "user_updated": null,
                "created_at": "2024-07-11T00:25:37.000000Z",
                "updated_at": "2024-07-11T00:25:37.000000Z",
                "status": {
                    "name": "Confirm",
                    "fg_color": "#ffffff",
                    "bg_color": "#0d6efd"
                },
                "list_room": [
                    {
                        "id": "eed0cfcb-01d8-4a3c-9d86-868714eb0e36",
                        "room_type": "Standard Balcony",
                        "room": "111",
                        "guest_in_room": "Mrs. Rai Octa Vioni Ni Luh",
                        "guest_status_in_room": "No Status",
                        "arival": "2024-07-11",
                        "depature": "2024-07-15",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ]
            }
        ],
        "pagination": {
            "curren_page": 1,
            "total_page": 1,
            "total_item": 4,
            "total_item_current_page": 4
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quia

arival_start_date   string  optional    

add this value Arrival Start Date with format date Y-m-d. Exmp:2024-02-18 Example: enim

arival_end_date   string  optional    

add this value Arrival End Date with format date Y-m-d. Exmp:2024-02-18 Example: dolores

booking_no   string     

Booking Number Example: aut

Hold Booking List

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/list/onhold" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quisquam\",
    \"hold_start_date\": \"est\",
    \"hold_end_date\": \"id\",
    \"booking_no\": \"ut\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/list/onhold"
);

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

let body = {
    "property_id": "quisquam",
    "hold_start_date": "est",
    "hold_end_date": "id",
    "booking_no": "ut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/list/onhold';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quisquam',
            'hold_start_date' => 'est',
            'hold_end_date' => 'id',
            'booking_no' => 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Booking Data",
    "data": {
        "item": [
            {
                "booking_id": "ebbe1188-5c63-444c-947f-3e1e1fa9e217",
                "booking_no": "20250324/HOTELDUMMY/0000000005",
                "booking_reference": null,
                "booking_by": "Mr. Anton Poernomo",
                "total_nights": 3,
                "total_adults": 2,
                "total_childrens": 0,
                "user_created": "Agus Bawa",
                "user_updated": null,
                "created_at": "2025-03-24T04:07:46.000000Z",
                "updated_at": "2025-03-24T04:07:46.000000Z",
                "status": {
                    "name": "In Hold",
                    "fg_color": "#000000",
                    "bg_color": "#ffc107"
                },
                "hold_date": "2025-03-24",
                "list_room": [
                    {
                        "id": "5caf7ef6-f0b1-45ab-9284-943b3016a64d",
                        "room_type": "Standard",
                        "room": "103",
                        "guest_in_room": "Mr. Anton Poernomo",
                        "guest_status_in_room": "No Status",
                        "arival": "2025-03-25",
                        "depature": "2025-03-28",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ],
                "booking_function": {
                    "cancel": null,
                    "confirm": {
                        "status": true,
                        "id": "ad430d5a-a2f1-4927-bb0a-926f00ebf8b6"
                    },
                    "update": {
                        "status": true,
                        "id": "ebbe1188-5c63-444c-947f-3e1e1fa9e217"
                    }
                }
            }
        ],
        "pagination": {
            "current_page": 1,
            "total_page": 1,
            "total_item": 1,
            "total_item_current_page": 1
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/list/onhold

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quisquam

hold_start_date   string  optional    

add this value Hold Start Date with format date Y-m-d. Exmp:2024-02-18 Example: est

hold_end_date   string  optional    

add this value Hold End Date with format date Y-m-d. Exmp:2024-02-18 Example: id

booking_no   string     

Booking Number Example: ut

Booking Move Room

Option Room Move Stay

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/move-room-stay/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"maiores\",
    \"booking_room_id\": \"praesentium\",
    \"mode\": \"roomavailable\",
    \"room_type_id\": \"cumque\",
    \"arival_date\": \"eaque\",
    \"depature_date\": \"esse\",
    \"rate_plan_id\": \"maxime\",
    \"tax_and_service_id\": \"minima\",
    \"use_rate_before\": true
}"
const url = new URL(
    "http://localhost/api/v1/booking/move-room-stay/dropdownoptionlist"
);

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

let body = {
    "property_id": "maiores",
    "booking_room_id": "praesentium",
    "mode": "roomavailable",
    "room_type_id": "cumque",
    "arival_date": "eaque",
    "depature_date": "esse",
    "rate_plan_id": "maxime",
    "tax_and_service_id": "minima",
    "use_rate_before": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/move-room-stay/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'maiores',
            'booking_room_id' => 'praesentium',
            'mode' => 'roomavailable',
            'room_type_id' => 'cumque',
            'arival_date' => 'eaque',
            'depature_date' => 'esse',
            'rate_plan_id' => 'maxime',
            'tax_and_service_id' => 'minima',
            'use_rate_before' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Available",
    "data": [
        {
            "key": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "label": "Standard",
            "room": [
                {
                    "key": "e7541067-7551-4905-b13a-e7f026a06a48",
                    "label": "101"
                },
                {
                    "key": "6ea738d4-4b28-4cc8-8b93-29421e53d054",
                    "label": "102"
                },
                {
                    "key": "d87d7acc-088f-4773-a930-e1abe407a21c",
                    "label": "103"
                },
                {
                    "key": "1129c95a-5163-4567-aec3-3c8e5b862df3",
                    "label": "104"
                }
            ]
        },
        {
            "key": "c059b085-358d-456f-bb7d-4a6dd80da101",
            "label": "Standard Balcony",
            "room": [
                {
                    "key": "c7c2509f-a4e5-4e8a-bd6f-95b71844e7b3",
                    "label": "110"
                },
                {
                    "key": "c9175b2e-c8a2-419d-a3e6-a5dec276c549",
                    "label": "111"
                },
                {
                    "key": "582b421a-2923-4d3c-a10f-a456ce7f7583",
                    "label": "112"
                },
                {
                    "key": "22af0aea-2a42-410f-a66c-7b360e460db0",
                    "label": "114"
                },
                {
                    "key": "ca9a60df-c5f4-47a3-8f14-b7817eff83e8",
                    "label": "115"
                }
            ]
        },
        {
            "key": "4a744904-3e55-49a6-b8e9-ac489cbc4ac8",
            "label": "Junior Suite",
            "room": [
                {
                    "key": "01014dfe-3693-4ea4-a08a-9439e3312c80",
                    "label": "205"
                },
                {
                    "key": "e8916d8f-db07-41a8-885f-66f085c4fe0a",
                    "label": "206"
                },
                {
                    "key": "c328ccb7-9c94-4be8-8d2e-12eac221e3d0",
                    "label": "207"
                },
                {
                    "key": "04f00d69-ebc3-47cb-b845-5d9ea450942a",
                    "label": "208"
                }
            ]
        },
        {
            "key": "9b1edca0-fe67-4340-832a-091a9a6aba7c",
            "label": "Superior",
            "room": [
                {
                    "key": "59eb4788-d411-4665-b26c-60de8758dee2",
                    "label": "309"
                },
                {
                    "key": "6ece9929-5939-4976-a7ba-2501aba92885",
                    "label": "310"
                },
                {
                    "key": "eae44a84-1a41-4e80-9a56-e90eba45811d",
                    "label": "311"
                }
            ]
        },
        {
            "key": "865baecb-cf7c-414b-a4f0-d6a0246075f6",
            "label": "Deluxe",
            "room": [
                {
                    "key": "dfda52ce-34fb-4c77-b967-a64f6e06a180",
                    "label": "109"
                }
            ]
        }
    ]
}
 

Request   

POST api/v1/booking/move-room-stay/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: maiores

booking_room_id   string     

uuid of Booking Room. Example: praesentium

mode   string  optional    

The language. Example: roomavailable

Must be one of:
  • roomavailable
  • taxandservice
  • roomratedaily
  • roomrateplan
room_type_id   string  optional    

use this parameter when mode "roomrateplan". Example: cumque

arival_date   string  optional    

use this parameter whed get roomavailable. Exmp: Y-m-d Example: eaque

depature_date   string  optional    

use this parameter whed get roomavailable. Exmp: Y-m-d Example: esse

rate_plan_id   string  optional    

use this parameter when mode "roomratedaily". Example: maxime

tax_and_service_id   string  optional    

use this parameter when mode "roomratedaily". Example: minima

use_rate_before   boolean  optional    

set true if use current rate. Example: true

Detail Room Move Stay

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/move-room-stay/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sed\",
    \"booking_room_id\": \"aperiam\",
    \"room_id\": \"sunt\",
    \"arival\": \"vitae\",
    \"depature\": \"nisi\",
    \"use_rate_before\": false
}"
const url = new URL(
    "http://localhost/api/v1/booking/move-room-stay/detail"
);

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

let body = {
    "property_id": "sed",
    "booking_room_id": "aperiam",
    "room_id": "sunt",
    "arival": "vitae",
    "depature": "nisi",
    "use_rate_before": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/move-room-stay/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sed',
            'booking_room_id' => 'aperiam',
            'room_id' => 'sunt',
            'arival' => 'vitae',
            'depature' => 'nisi',
            'use_rate_before' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Detail Room Found",
    "data": {
        "current_data": {
            "booking_id": "c5411a1e-86f1-4a4b-9aec-3a1361e5d276",
            "booking_room_id": "7a3f34ff-814e-42be-9013-68d490e462a1",
            "booking_no": "20240927/HOTELDUMMY/0000000004",
            "arival": "2024-10-22",
            "depature": "2024-10-27",
            "total_nights": 5,
            "total_adult": 2,
            "total_child": 0,
            "room_type": "Standard",
            "room": "104",
            "room_rate": {
                "detail_mode": "room rate",
                "currency": {
                    "name": "Indonesian rupiah",
                    "code": "IDR",
                    "symbol": "Rp"
                },
                "booking_id": "c5411a1e-86f1-4a4b-9aec-3a1361e5d276",
                "booking_no": "20240927/HOTELDUMMY/0000000004",
                "reference_no": null,
                "guest_name": "Mr. Takayuki Nomoto",
                "guest_id": "2da48c55-2688-443f-99b3-47ab29616604",
                "total_amount": 1214987.7,
                "total_service": 136363.65000000002,
                "total_tax": 148648.65000000002,
                "total_rate": 1500000,
                "room_rates_list": [
                    {
                        "id": "7a3f34ff-814e-42be-9013-68d490e462a1",
                        "room_name": "Standard / 104",
                        "detail": [
                            {
                                "id": "0df096a6-5d3a-4d75-a48b-a48353f3e4e2",
                                "date": "2024-10-22",
                                "description": "Standard / 104",
                                "service": 9090.91,
                                "tax": 9909.91,
                                "amount": 80999.18,
                                "rate": 100000
                            }
                        ],
                        "total_sub_service": 45454.55,
                        "total_sub_tax": 49549.55,
                        "total_sub_amount": 404995.89999999997,
                        "total_sub_rate": 500000
                    }
                ]
            }
        },
        "move_data": {
            "detail": {
                "booking_room_id": "7a3f34ff-814e-42be-9013-68d490e462a1",
                "arival": "2024-10-15",
                "depature": "2024-10-20",
                "room_type_id": "4a744904-3e55-49a6-b8e9-ac489cbc4ac8",
                "room_id": "04f00d69-ebc3-47cb-b845-5d9ea450942a",
                "currency": {
                    "name": "Indonesian rupiah",
                    "code": "IDR",
                    "symbol": "Rp"
                },
                "rate_plan_default": {
                    "id": "c68d0a27-6a73-4f6d-b5d5-0fa8a7854832",
                    "name": "Room And Breakfast Rate"
                },
                "tax_and_service_default": {
                    "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "name": "Room Rate Tax 11 and Service 10"
                },
                "room_rate": [
                    {
                        "rate_plan_id": "c68d0a27-6a73-4f6d-b5d5-0fa8a7854832",
                        "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "rate_date": "2024-10-15",
                        "rate": 1200000
                    }
                ],
                "total_rate": 6000000,
                "room_type": {
                    "id": "4a744904-3e55-49a6-b8e9-ac489cbc4ac8",
                    "name": "Junior Suite"
                },
                "room": {
                    "id": "04f00d69-ebc3-47cb-b845-5d9ea450942a",
                    "name": "208"
                },
                "total_adults": 2,
                "total_childrens": 0
            },
            "option": {
                "room_available": [
                    {
                        "key": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
                        "label": "Standard",
                        "room": [
                            {
                                "key": "e7541067-7551-4905-b13a-e7f026a06a48",
                                "label": "101"
                            }
                        ]
                    },
                    {
                        "key": "c059b085-358d-456f-bb7d-4a6dd80da101",
                        "label": "Standard Balcony",
                        "room": [
                            {
                                "key": "c7c2509f-a4e5-4e8a-bd6f-95b71844e7b3",
                                "label": "110"
                            }
                        ]
                    },
                    {
                        "key": "4a744904-3e55-49a6-b8e9-ac489cbc4ac8",
                        "label": "Junior Suite",
                        "room": [
                            {
                                "key": "01014dfe-3693-4ea4-a08a-9439e3312c80",
                                "label": "205"
                            }
                        ]
                    },
                    {
                        "key": "9b1edca0-fe67-4340-832a-091a9a6aba7c",
                        "label": "Superior",
                        "room": [
                            {
                                "key": "59eb4788-d411-4665-b26c-60de8758dee2",
                                "label": "309"
                            }
                        ]
                    },
                    {
                        "key": "865baecb-cf7c-414b-a4f0-d6a0246075f6",
                        "label": "Deluxe",
                        "room": [
                            {
                                "key": "dfda52ce-34fb-4c77-b967-a64f6e06a180",
                                "label": "109"
                            }
                        ]
                    }
                ],
                "tax_and_service": [
                    {
                        "label": "Room Rate Tax 11 and Service 10",
                        "key": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "is_default": false
                    }
                ],
                "rate_plan": [
                    {
                        "key": "c68d0a27-6a73-4f6d-b5d5-0fa8a7854832",
                        "label": "Room And Breakfast Rate",
                        "start_date": "2024-08-03",
                        "end_date": "2024-08-03",
                        "min_night": 1,
                        "max_night": 1,
                        "max_adult": 2,
                        "max_pax": 4,
                        "room_rate": 1200000,
                        "extra_adult_rate": 200000,
                        "extra_child_rate": 100000,
                        "rate_plan_type": {
                            "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                            "name": "STANDAR"
                        },
                        "tax_and_service": {
                            "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                            "name": "Room Rate Tax 11 and Service 10"
                        },
                        "currency": {
                            "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                            "name": "Indonesian rupiah",
                            "code": "IDR",
                            "symbol": "Rp"
                        }
                    }
                ]
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/move-room-stay/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: sed

booking_room_id   string     

uuid of Booking. Example: aperiam

room_id   string     

uuid of new Room id if have new room please provide id. Example: sunt

arival   string     

uuid of new arival date format Y-m-d if have new arival date. Example: vitae

depature   string     

uuid of new depature date format Y-m-d if have new depature date. Example: nisi

use_rate_before   boolean  optional    

set true if use current rate. Example: false

Update Room Move Stay

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/move-room-stay/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quam\",
    \"booking_room_id\": \"rerum\",
    \"room_type_id\": \"quasi\",
    \"room_id\": \"est\",
    \"arival\": \"2024-02-18\",
    \"depature\": \"2024-02-18\",
    \"room_rate\": [
        {
            \"rate_plan_id\": \"97b6b6fa-f6d0-4d96-9ad2-86561c59b673\",
            \"tax_and_service_id\": \"5d80d7db-f029-44b8-9864-44f3607e2417\",
            \"rate_date\": \"2024-10-22\",
            \"rate\": 100000
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/booking/move-room-stay/update"
);

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

let body = {
    "property_id": "quam",
    "booking_room_id": "rerum",
    "room_type_id": "quasi",
    "room_id": "est",
    "arival": "2024-02-18",
    "depature": "2024-02-18",
    "room_rate": [
        {
            "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
            "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
            "rate_date": "2024-10-22",
            "rate": 100000
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/move-room-stay/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quam',
            'booking_room_id' => 'rerum',
            'room_type_id' => 'quasi',
            'room_id' => 'est',
            'arival' => '2024-02-18',
            'depature' => '2024-02-18',
            'room_rate' => [
                [
                    'rate_plan_id' => '97b6b6fa-f6d0-4d96-9ad2-86561c59b673',
                    'tax_and_service_id' => '5d80d7db-f029-44b8-9864-44f3607e2417',
                    'rate_date' => '2024-10-22',
                    'rate' => 100000,
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/move-room-stay/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: quam

booking_room_id   string     

uuid of Booking Room. Example: rerum

room_type_id   string     

uuid of Room type. Example: quasi

room_id   string     

uuid of Room. Example: est

arival   string  optional    

add this value arival format date Y-m-d. Example: 2024-02-18

depature   string  optional    

add this value depature format date Y-m-d. Example: 2024-02-18

room_rate   object  optional    

this list room rate for this booking.

Booking Outstanding List

Outstanding List

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/outstanding/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"velit\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/outstanding/list"
);

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

let body = {
    "property_id": "velit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/outstanding/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Daily Found",
    "data": {
        "in_house": [
            {
                "room_type_name": "Standard",
                "list": [
                    {
                        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
                        "booking_no": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "guest": {
                            "name": "Mr. Takayuki Nomoto",
                            "id": "2da48c55-2688-443f-99b3-47ab29616604"
                        },
                        "country": {
                            "name": "Japan",
                            "id": "72a89d6b-78a8-4db9-b66c-3a16af183567"
                        },
                        "room_type": {
                            "name": "Standard",
                            "id": "a880635a-810f-4f9b-b39a-3f49387ec7d5"
                        },
                        "room": {
                            "name": "101",
                            "id": "e7541067-7551-4905-b13a-e7f026a06a48"
                        },
                        "agent": {
                            "name": "Walk In",
                            "id": "e41961d9-620e-4290-9497-64ece423e82c"
                        },
                        "arival": "2024-09-17",
                        "depature": "2024-09-19",
                        "adult": 2,
                        "child": 2,
                        "special_request": null,
                        "remark": null
                    }
                ]
            }
        ]
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/outstanding/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: velit

Booking Room General Update Editor

Room General Update

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/room-general-update/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"porro\",
    \"booking_id\": \"quo\",
    \"booking_room_id\": \"vitae\",
    \"payment_collect_type_id\": \"ut\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/room-general-update/update"
);

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

let body = {
    "property_id": "porro",
    "booking_id": "quo",
    "booking_room_id": "vitae",
    "payment_collect_type_id": "ut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/room-general-update/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'porro',
            'booking_id' => 'quo',
            'booking_room_id' => 'vitae',
            'payment_collect_type_id' => 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Booking Room General Update",
    "data": {
        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
        "special_request": "this special request Testing update test",
        "user_created": {
            "id": "7acc2f8b-1a4c-406a-8731-fceeea5cf202",
            "name": "Agus Bawa Nadi Putra"
        },
        "date_created": "2024-10-17T10:06:29.000000Z"
    }
}
 

Request   

POST api/v1/booking/room-general-update/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: porro

booking_id   string     

uuid of booking Example: quo

booking_room_id   string     

uuid of booking room Example: vitae

payment_collect_type_id   string     

uuid of Payment Collect Type Example: ut

Room General Update Detail

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/room-general-update/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quaerat\",
    \"booking_id\": \"harum\",
    \"booking_room_id\": \"tempore\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/room-general-update/detail"
);

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

let body = {
    "property_id": "quaerat",
    "booking_id": "harum",
    "booking_room_id": "tempore"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/room-general-update/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quaerat',
            'booking_id' => 'harum',
            'booking_room_id' => 'tempore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room General Data",
    "data": {
        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
        "special_request": "this special request Testing update test",
        "user_created": {
            "id": "7acc2f8b-1a4c-406a-8731-fceeea5cf202",
            "name": "Agus Bawa Nadi Putra"
        },
        "date_created": "2024-10-17T10:06:29.000000Z"
    }
}
 

Request   

POST api/v1/booking/room-general-update/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: quaerat

booking_id   string     

uuid of booking Example: harum

booking_room_id   string     

uuid of booking room Example: tempore

Booking Update Room Rate

Detail Booking Room Rate

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/roomrate/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolorem\",
    \"booking_id\": \"rerum\",
    \"booking_room_id\": \"numquam\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/roomrate/detail"
);

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

let body = {
    "property_id": "dolorem",
    "booking_id": "rerum",
    "booking_room_id": "numquam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/roomrate/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolorem',
            'booking_id' => 'rerum',
            'booking_room_id' => 'numquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/roomrate/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: dolorem

booking_id   string     

uuid of Booking. Example: rerum

booking_room_id   string     

uuid of Booking Room ID. Example: numquam

Option Booking Room Rate Update

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/roomrate/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"temporibus\",
    \"booking_id\": \"eius\",
    \"booking_room_id\": \"ut\",
    \"rate_plan_id\": \"aspernatur\",
    \"tax_and_service_id\": \"dolorum\",
    \"total_adult\": \"fugit\",
    \"total_child\": \"et\",
    \"default_rate\": \"commodi\",
    \"default_extra_adult_rate\": \"earum\",
    \"default_extra_child_rate\": \"aliquid\",
    \"default_rate_detail\": \"et\",
    \"mode\": \"\'roomratedaily\'\"
}"
const url = new URL(
    "http://localhost/api/v1/booking/roomrate/dropdownoptionlist"
);

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

let body = {
    "property_id": "temporibus",
    "booking_id": "eius",
    "booking_room_id": "ut",
    "rate_plan_id": "aspernatur",
    "tax_and_service_id": "dolorum",
    "total_adult": "fugit",
    "total_child": "et",
    "default_rate": "commodi",
    "default_extra_adult_rate": "earum",
    "default_extra_child_rate": "aliquid",
    "default_rate_detail": "et",
    "mode": "'roomratedaily'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/roomrate/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'temporibus',
            'booking_id' => 'eius',
            'booking_room_id' => 'ut',
            'rate_plan_id' => 'aspernatur',
            'tax_and_service_id' => 'dolorum',
            'total_adult' => 'fugit',
            'total_child' => 'et',
            'default_rate' => 'commodi',
            'default_extra_adult_rate' => 'earum',
            'default_extra_child_rate' => 'aliquid',
            'default_rate_detail' => 'et',
            'mode' => '\'roomratedaily\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Room Rate Daily Available",
    "data": [
        {
            "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
            "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
            "rate_date": "2024-09-23",
            "rate": 750000
        },
        {
            "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
            "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
            "rate_date": "2024-09-24",
            "rate": 750000
        },
        {
            "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
            "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
            "rate_date": "2024-09-25",
            "rate": 750000
        }
    ]
}
 

Request   

POST api/v1/booking/roomrate/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: temporibus

booking_id   string     

uuid of Booking. Example: eius

booking_room_id   string     

uuid of Booking Room ID. Example: ut

rate_plan_id   string     

uuid of Rate Plan ID if use mode roomratedaily. Example: aspernatur

tax_and_service_id   string     

uuid of Rate Plan ID if use mode roomratedaily. Example: dolorum

total_adult   string  optional    

use this parameter when mode "roomrateplan". Exmp:1, Example: fugit

total_child   string  optional    

use this parameter when mode "roomrateplan". Exmp:1, Example: et

default_rate   string  optional    

use this parameter when get roomratedaily with set default rate. Example: commodi

default_extra_adult_rate   string  optional    

use this parameter when get roomratedaily with set default rate. Example: earum

default_extra_child_rate   string  optional    

use this parameter when get roomratedaily with set default rate. Example: aliquid

default_rate_detail   string  optional    

use this parameter required when get roomratedaily with default rate. Example: et

mode   string  optional    

mode result. Example: 'roomratedaily'

Must be one of:
  • ['taxandservice'
  • 'roomrateplan'
  • 'roomratedaily'
  • 'calculation']

Calculate Booking Room Rate

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/roomrate/calculate" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quia\",
    \"booking_id\": \"labore\",
    \"booking_room_id\": \"ad\",
    \"rate_plan_id\": \"dolores\",
    \"room_rate_daily\": [
        {
            \"tax_and_service_id\": \"99f5c5f5-4bdd-449f-950c-15ec32322a7d\",
            \"is_open_rate\": true,
            \"rate_date\": \"2025-02-26\",
            \"rate\": 1000000,
            \"extra_adult\": 0,
            \"extra_child\": 0,
            \"extra_adult_rate\": 100000,
            \"extra_child_rate\": 50000,
            \"min_rate\": 700000,
            \"rate_detail\": [
                {
                    \"id\": \"54528d0a-407a-4bb4-8026-bd338ea81a83\",
                    \"property_product\": {
                        \"id\": \"a1ba606b-4310-47f8-b94b-fd24a6049ea9\",
                        \"name\": \"Room Charges\",
                        \"slug\": \"room-charges\",
                        \"remark\": \"This Product create default by system\",
                        \"sell_amount\": 0,
                        \"cost_amount\": 0
                    },
                    \"remark\": \"Room Charges\",
                    \"rate\": 300000
                },
                {
                    \"id\": \"ba1d81bb-5e0e-4ceb-bce6-3ce5cdebae99\",
                    \"property_product\": {
                        \"id\": \"3603288e-ed2d-4d72-a9af-8d80df1ae663\",
                        \"name\": \"Breakfasts\",
                        \"slug\": \"breakfasts\",
                        \"remark\": \"This Product create default by system\",
                        \"sell_amount\": 0,
                        \"cost_amount\": 0
                    },
                    \"remark\": \"Breakfasts\",
                    \"rate\": 200000
                }
            ]
        }
    ],
    \"room_rate_inclusion\": [
        {
            \"id\": \"e6bc500d-697c-45f3-a233-e2358db511ab\",
            \"property_product\": {
                \"id\": \"6b3ec723-5da9-4ceb-bf6c-85f2cd65b172\",
                \"name\": \"Honeymoon Package\",
                \"remark\": \"this test product package\",
                \"sell_amount\": 500000,
                \"cost_amount\": 300000
            },
            \"qty\": 1,
            \"unit_rate\": 500000,
            \"rate\": 500000,
            \"add_remark\": null
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/booking/roomrate/calculate"
);

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

let body = {
    "property_id": "quia",
    "booking_id": "labore",
    "booking_room_id": "ad",
    "rate_plan_id": "dolores",
    "room_rate_daily": [
        {
            "tax_and_service_id": "99f5c5f5-4bdd-449f-950c-15ec32322a7d",
            "is_open_rate": true,
            "rate_date": "2025-02-26",
            "rate": 1000000,
            "extra_adult": 0,
            "extra_child": 0,
            "extra_adult_rate": 100000,
            "extra_child_rate": 50000,
            "min_rate": 700000,
            "rate_detail": [
                {
                    "id": "54528d0a-407a-4bb4-8026-bd338ea81a83",
                    "property_product": {
                        "id": "a1ba606b-4310-47f8-b94b-fd24a6049ea9",
                        "name": "Room Charges",
                        "slug": "room-charges",
                        "remark": "This Product create default by system",
                        "sell_amount": 0,
                        "cost_amount": 0
                    },
                    "remark": "Room Charges",
                    "rate": 300000
                },
                {
                    "id": "ba1d81bb-5e0e-4ceb-bce6-3ce5cdebae99",
                    "property_product": {
                        "id": "3603288e-ed2d-4d72-a9af-8d80df1ae663",
                        "name": "Breakfasts",
                        "slug": "breakfasts",
                        "remark": "This Product create default by system",
                        "sell_amount": 0,
                        "cost_amount": 0
                    },
                    "remark": "Breakfasts",
                    "rate": 200000
                }
            ]
        }
    ],
    "room_rate_inclusion": [
        {
            "id": "e6bc500d-697c-45f3-a233-e2358db511ab",
            "property_product": {
                "id": "6b3ec723-5da9-4ceb-bf6c-85f2cd65b172",
                "name": "Honeymoon Package",
                "remark": "this test product package",
                "sell_amount": 500000,
                "cost_amount": 300000
            },
            "qty": 1,
            "unit_rate": 500000,
            "rate": 500000,
            "add_remark": null
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/roomrate/calculate';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
            $o = [
                clone (($p = &\Symfony\Component\VarExporter\Internal\Registry::$prototypes)['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')),
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
            ],
            null,
            [
                'stdClass' => [
                    'tax_and_service_id' => [
                        '99f5c5f5-4bdd-449f-950c-15ec32322a7d',
                    ],
                    'is_open_rate' => [
                        true,
                    ],
                    'rate_date' => [
                        '2025-02-26',
                    ],
                    'rate' => [
                        1000000,
                        300000,
                        3 => 200000,
                        5 => 500000,
                    ],
                    'extra_adult' => [
                        0,
                    ],
                    'extra_child' => [
                        0,
                    ],
                    'extra_adult_rate' => [
                        100000,
                    ],
                    'extra_child_rate' => [
                        50000,
                    ],
                    'min_rate' => [
                        700000,
                    ],
                    'rate_detail' => [
                        [
                            $o[1],
                            $o[3],
                        ],
                    ],
                    'id' => [
                        1 => '54528d0a-407a-4bb4-8026-bd338ea81a83',
                        'a1ba606b-4310-47f8-b94b-fd24a6049ea9',
                        'ba1d81bb-5e0e-4ceb-bce6-3ce5cdebae99',
                        '3603288e-ed2d-4d72-a9af-8d80df1ae663',
                        'e6bc500d-697c-45f3-a233-e2358db511ab',
                        '6b3ec723-5da9-4ceb-bf6c-85f2cd65b172',
                    ],
                    'property_product' => [
                        1 => $o[2],
                        3 => $o[4],
                        5 => $o[6],
                    ],
                    'remark' => [
                        1 => 'Room Charges',
                        'This Product create default by system',
                        'Breakfasts',
                        'This Product create default by system',
                        6 => 'this test product package',
                    ],
                    'name' => [
                        2 => 'Room Charges',
                        4 => 'Breakfasts',
                        6 => 'Honeymoon Package',
                    ],
                    'slug' => [
                        2 => 'room-charges',
                        4 => 'breakfasts',
                    ],
                    'sell_amount' => [
                        2 => 0,
                        4 => 0,
                        6 => 500000,
                    ],
                    'cost_amount' => [
                        2 => 0,
                        4 => 0,
                        6 => 300000,
                    ],
                    'qty' => [
                        5 => 1,
                    ],
                    'unit_rate' => [
                        5 => 500000,
                    ],
                    'add_remark' => [
                        5 => null,
                    ],
                ],
            ],
            [
                'property_id' => 'quia',
                'booking_id' => 'labore',
                'booking_room_id' => 'ad',
                'rate_plan_id' => 'dolores',
                'room_rate_daily' => [
                    $o[0],
                ],
                'room_rate_inclusion' => [
                    $o[5],
                ],
            ],
            []
        ),
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/roomrate/calculate

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: quia

booking_id   string     

uuid of Booking. Example: labore

booking_room_id   string     

uuid of Booking Room ID. Example: ad

rate_plan_id   string     

uuid of Rate Plan ID if use mode roomratedaily. Example: dolores

room_rate_daily   string[]     

detail Room rate Daily.

room_rate_inclusion   string[]     

detail Room Rate Inclusion.

Update Booking Room Rate

Example request:
curl --request POST \
    "http://localhost/api/v1/booking/roomrate/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"perspiciatis\",
    \"booking_id\": \"in\",
    \"booking_room_id\": \"sunt\",
    \"rate_plan_id\": \"sed\",
    \"room_rate_daily\": [
        {
            \"tax_and_service_id\": \"99f5c5f5-4bdd-449f-950c-15ec32322a7d\",
            \"is_open_rate\": true,
            \"rate_date\": \"2025-02-26\",
            \"rate\": 1000000,
            \"extra_adult\": 0,
            \"extra_child\": 0,
            \"extra_adult_rate\": 100000,
            \"extra_child_rate\": 50000,
            \"min_rate\": 700000,
            \"rate_detail\": [
                {
                    \"id\": \"54528d0a-407a-4bb4-8026-bd338ea81a83\",
                    \"property_product\": {
                        \"id\": \"a1ba606b-4310-47f8-b94b-fd24a6049ea9\",
                        \"name\": \"Room Charges\",
                        \"slug\": \"room-charges\",
                        \"remark\": \"This Product create default by system\",
                        \"sell_amount\": 0,
                        \"cost_amount\": 0
                    },
                    \"remark\": \"Room Charges\",
                    \"rate\": 300000
                },
                {
                    \"id\": \"ba1d81bb-5e0e-4ceb-bce6-3ce5cdebae99\",
                    \"property_product\": {
                        \"id\": \"3603288e-ed2d-4d72-a9af-8d80df1ae663\",
                        \"name\": \"Breakfasts\",
                        \"slug\": \"breakfasts\",
                        \"remark\": \"This Product create default by system\",
                        \"sell_amount\": 0,
                        \"cost_amount\": 0
                    },
                    \"remark\": \"Breakfasts\",
                    \"rate\": 200000
                }
            ]
        }
    ],
    \"room_rate_inclusion\": [
        {
            \"id\": \"e6bc500d-697c-45f3-a233-e2358db511ab\",
            \"property_product\": {
                \"id\": \"6b3ec723-5da9-4ceb-bf6c-85f2cd65b172\",
                \"name\": \"Honeymoon Package\",
                \"remark\": \"this test product package\",
                \"sell_amount\": 500000,
                \"cost_amount\": 300000
            },
            \"qty\": 1,
            \"unit_rate\": 500000,
            \"rate\": 500000,
            \"add_remark\": null
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/booking/roomrate/update"
);

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

let body = {
    "property_id": "perspiciatis",
    "booking_id": "in",
    "booking_room_id": "sunt",
    "rate_plan_id": "sed",
    "room_rate_daily": [
        {
            "tax_and_service_id": "99f5c5f5-4bdd-449f-950c-15ec32322a7d",
            "is_open_rate": true,
            "rate_date": "2025-02-26",
            "rate": 1000000,
            "extra_adult": 0,
            "extra_child": 0,
            "extra_adult_rate": 100000,
            "extra_child_rate": 50000,
            "min_rate": 700000,
            "rate_detail": [
                {
                    "id": "54528d0a-407a-4bb4-8026-bd338ea81a83",
                    "property_product": {
                        "id": "a1ba606b-4310-47f8-b94b-fd24a6049ea9",
                        "name": "Room Charges",
                        "slug": "room-charges",
                        "remark": "This Product create default by system",
                        "sell_amount": 0,
                        "cost_amount": 0
                    },
                    "remark": "Room Charges",
                    "rate": 300000
                },
                {
                    "id": "ba1d81bb-5e0e-4ceb-bce6-3ce5cdebae99",
                    "property_product": {
                        "id": "3603288e-ed2d-4d72-a9af-8d80df1ae663",
                        "name": "Breakfasts",
                        "slug": "breakfasts",
                        "remark": "This Product create default by system",
                        "sell_amount": 0,
                        "cost_amount": 0
                    },
                    "remark": "Breakfasts",
                    "rate": 200000
                }
            ]
        }
    ],
    "room_rate_inclusion": [
        {
            "id": "e6bc500d-697c-45f3-a233-e2358db511ab",
            "property_product": {
                "id": "6b3ec723-5da9-4ceb-bf6c-85f2cd65b172",
                "name": "Honeymoon Package",
                "remark": "this test product package",
                "sell_amount": 500000,
                "cost_amount": 300000
            },
            "qty": 1,
            "unit_rate": 500000,
            "rate": 500000,
            "add_remark": null
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/booking/roomrate/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
            $o = [
                clone (($p = &\Symfony\Component\VarExporter\Internal\Registry::$prototypes)['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')),
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
            ],
            null,
            [
                'stdClass' => [
                    'tax_and_service_id' => [
                        '99f5c5f5-4bdd-449f-950c-15ec32322a7d',
                    ],
                    'is_open_rate' => [
                        true,
                    ],
                    'rate_date' => [
                        '2025-02-26',
                    ],
                    'rate' => [
                        1000000,
                        300000,
                        3 => 200000,
                        5 => 500000,
                    ],
                    'extra_adult' => [
                        0,
                    ],
                    'extra_child' => [
                        0,
                    ],
                    'extra_adult_rate' => [
                        100000,
                    ],
                    'extra_child_rate' => [
                        50000,
                    ],
                    'min_rate' => [
                        700000,
                    ],
                    'rate_detail' => [
                        [
                            $o[1],
                            $o[3],
                        ],
                    ],
                    'id' => [
                        1 => '54528d0a-407a-4bb4-8026-bd338ea81a83',
                        'a1ba606b-4310-47f8-b94b-fd24a6049ea9',
                        'ba1d81bb-5e0e-4ceb-bce6-3ce5cdebae99',
                        '3603288e-ed2d-4d72-a9af-8d80df1ae663',
                        'e6bc500d-697c-45f3-a233-e2358db511ab',
                        '6b3ec723-5da9-4ceb-bf6c-85f2cd65b172',
                    ],
                    'property_product' => [
                        1 => $o[2],
                        3 => $o[4],
                        5 => $o[6],
                    ],
                    'remark' => [
                        1 => 'Room Charges',
                        'This Product create default by system',
                        'Breakfasts',
                        'This Product create default by system',
                        6 => 'this test product package',
                    ],
                    'name' => [
                        2 => 'Room Charges',
                        4 => 'Breakfasts',
                        6 => 'Honeymoon Package',
                    ],
                    'slug' => [
                        2 => 'room-charges',
                        4 => 'breakfasts',
                    ],
                    'sell_amount' => [
                        2 => 0,
                        4 => 0,
                        6 => 500000,
                    ],
                    'cost_amount' => [
                        2 => 0,
                        4 => 0,
                        6 => 300000,
                    ],
                    'qty' => [
                        5 => 1,
                    ],
                    'unit_rate' => [
                        5 => 500000,
                    ],
                    'add_remark' => [
                        5 => null,
                    ],
                ],
            ],
            [
                'property_id' => 'perspiciatis',
                'booking_id' => 'in',
                'booking_room_id' => 'sunt',
                'rate_plan_id' => 'sed',
                'room_rate_daily' => [
                    $o[0],
                ],
                'room_rate_inclusion' => [
                    $o[5],
                ],
            ],
            []
        ),
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Booking Room Rate",
    "data": {
        "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
        "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
        "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
        "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
        "arival": "2024-09-23",
        "depature": "2024-09-26",
        "rate_plan_default": {
            "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
            "name": "Room And Breakfast Rate"
        },
        "tax_and_service_default": {
            "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
            "name": "Room Rate Tax 11 and Service 10"
        },
        "rate_list": [
            {
                "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "rate_date": "2024-09-23",
                "rate": 250000
            },
            {
                "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "rate_date": "2024-09-24",
                "rate": 250000
            },
            {
                "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "rate_date": "2024-09-25",
                "rate": 250000
            }
        ],
        "total_amount": 607493.8500000001,
        "total_service": 68181.81,
        "total_tax": 74324.31,
        "total_rate": 0,
        "currency": {
            "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
            "name": "Indonesian rupiah",
            "code": "IDR",
            "symbol": "Rp"
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/booking/roomrate/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: perspiciatis

booking_id   string     

uuid of Booking. Example: in

booking_room_id   string     

uuid of Booking Room ID. Example: sunt

rate_plan_id   string     

uuid of Rate Plan ID if use mode roomratedaily. Example: sed

room_rate_daily   string[]     

detail Room rate Daily.

room_rate_inclusion   string[]     

detail Room Rate Inclusion.

CM - Agent Map

Add / Update Agent Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/agent/property/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"minus\",
    \"property_agent_list_id\": \"placeat\",
    \"cm_ota_list_id\": \"quae\",
    \"map_id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/agent/property/map"
);

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

let body = {
    "property_id": "minus",
    "property_agent_list_id": "placeat",
    "cm_ota_list_id": "quae",
    "map_id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/agent/property/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'minus',
            'property_agent_list_id' => 'placeat',
            'cm_ota_list_id' => 'quae',
            'map_id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/cm/agent/property/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

UUID of Property Example: minus

property_agent_list_id   string     

UUID of Property Agent List Example: placeat

cm_ota_list_id   string     

UUID of CM OTA List Example: quae

map_id   string  optional    

if need uuid for update Agent Mapping Channel Manager Input . Example: '********-****-****-****-************'

Agent Maping Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/cm/agent/property/map/detail/955bf5ed-a5b8-3163-b610-32168e5ffa23" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/cm/agent/property/map/detail/955bf5ed-a5b8-3163-b610-32168e5ffa23"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/agent/property/map/detail/955bf5ed-a5b8-3163-b610-32168e5ffa23';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{"message":"Success get Feature Detail","data":{"id":"e1679215-52d3-49b2-b369-09e1496f759a","name":"System Features","category"{"id":"796b8a28-e184-49e8-be8c-19fe898e0439","name":"System Setup"}}}
 

Request   

GET api/v1/cm/agent/property/map/detail/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Agent Maping. Example: 955bf5ed-a5b8-3163-b610-32168e5ffa23

datatable Property Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/agent/property/map/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"id\",
    \"property_agent_list_id\": \"ad\",
    \"cm_ota_list_id\": \"aperiam\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/agent/property/map/datatables"
);

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

let body = {
    "property_id": "id",
    "property_agent_list_id": "ad",
    "cm_ota_list_id": "aperiam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/agent/property/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'id',
            'property_agent_list_id' => 'ad',
            'cm_ota_list_id' => 'aperiam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Booking Data",
    "data": {
        "item": [
            {
                "booking_id": "ebbe1188-5c63-444c-947f-3e1e1fa9e217",
                "booking_no": "20250324/HOTELDUMMY/0000000005",
                "booking_reference": null,
                "booking_by": "Mr. Anton Poernomo",
                "total_nights": 3,
                "total_adults": 2,
                "total_childrens": 0,
                "user_created": "Agus Bawa",
                "user_updated": null,
                "created_at": "2025-03-24T04:07:46.000000Z",
                "updated_at": "2025-03-24T04:07:46.000000Z",
                "status": {
                    "name": "In Hold",
                    "fg_color": "#000000",
                    "bg_color": "#ffc107"
                },
                "hold_date": "2025-03-24",
                "list_room": [
                    {
                        "id": "5caf7ef6-f0b1-45ab-9284-943b3016a64d",
                        "room_type": "Standard",
                        "room": "103",
                        "guest_in_room": "Mr. Anton Poernomo",
                        "guest_status_in_room": "No Status",
                        "arival": "2025-03-25",
                        "depature": "2025-03-28",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ],
                "booking_function": {
                    "cancel": null,
                    "confirm": {
                        "status": true,
                        "id": "ad430d5a-a2f1-4927-bb0a-926f00ebf8b6"
                    },
                    "update": {
                        "status": true,
                        "id": "ebbe1188-5c63-444c-947f-3e1e1fa9e217"
                    }
                }
            }
        ],
        "pagination": {
            "current_page": 1,
            "total_page": 1,
            "total_item": 1,
            "total_item_current_page": 1
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/cm/agent/property/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: id

property_agent_list_id   string     

uuid of Property Agent List Example: ad

cm_ota_list_id   string     

uuid of Cm OTA List Example: aperiam

Option Agent Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/agent/property/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quisquam\",
    \"mode\": \"property_agent_list\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/agent/property/map/dropdown/list"
);

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

let body = {
    "property_id": "quisquam",
    "mode": "property_agent_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/agent/property/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quisquam',
            'mode' => 'property_agent_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/cm/agent/property/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quisquam

mode   string  optional    

The language. Example: property_agent_list

Must be one of:
  • property_agent_list
  • cm_ota_list

Remove Agent Mapping

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/agent/property/map/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"maxime\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/agent/property/map/remove"
);

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

let body = {
    "map_id": "maxime"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/agent/property/map/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'maxime',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Agent Mapping",
    "data": []
}
 

Request   

POST api/v1/cm/agent/property/map/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   string     

uuid of Agent Mapping Example: maxime

CM - Availability Update

Datatables update log

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/availability/update/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"facilis\",
    \"room_type_id\": \"et\",
    \"status\": 6,
    \"filter_by\": \"from\",
    \"search_date_from\": \"in\",
    \"search_date_to\": \"ad\",
    \"page_no\": 4
}"
const url = new URL(
    "http://localhost/api/v1/cm/availability/update/datatables"
);

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

let body = {
    "property_id": "facilis",
    "room_type_id": "et",
    "status": 6,
    "filter_by": "from",
    "search_date_from": "in",
    "search_date_to": "ad",
    "page_no": 4
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/availability/update/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'facilis',
            'room_type_id' => 'et',
            'status' => 6,
            'filter_by' => 'from',
            'search_date_from' => 'in',
            'search_date_to' => 'ad',
            'page_no' => 4,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/cm/availability/update/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: facilis

room_type_id   string  optional    

optional uuid of Room Type Property if want filter by room Type Example: et

status   integer  optional    

with value 1: inprogrees, 2: Success, 3: Errors Example: 6

filter_by   string  optional    

search by. Example: from

Must be one of:
  • from
  • to
search_date_from   string  optional    

with format date Y-m-d Example: in

search_date_to   string  optional    

with format date Y-m-d Example: ad

page_no   integer  optional    

number of pagination Example: 4

Option Update

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/availability/update/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quaerat\",
    \"mode\": \"room_type_list\",
    \"room_type_id\": \"possimus\",
    \"date_from\": \"illum\",
    \"date_to\": \"ut\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/availability/update/dropdown/list"
);

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

let body = {
    "property_id": "quaerat",
    "mode": "room_type_list",
    "room_type_id": "possimus",
    "date_from": "illum",
    "date_to": "ut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/availability/update/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quaerat',
            'mode' => 'room_type_list',
            'room_type_id' => 'possimus',
            'date_from' => 'illum',
            'date_to' => 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/cm/availability/update/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quaerat

mode   string  optional    

The language. Example: room_type_list

Must be one of:
  • room_type_list
  • availability_list
room_type_id   string     

uuid of Room Type Property Example: possimus

date_from   string  optional    

with format date Y-m-d, this use when mode availability_list Example: illum

date_to   string  optional    

with format date Y-m-d, this use when mode availability_list Example: ut

Availability Update Request

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/availability/update/sync-request" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"qui\",
    \"room_type_id\": \"voluptatem\",
    \"date_request_list\": null
}"
const url = new URL(
    "http://localhost/api/v1/cm/availability/update/sync-request"
);

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

let body = {
    "property_id": "qui",
    "room_type_id": "voluptatem",
    "date_request_list": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/availability/update/sync-request';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'qui',
            'room_type_id' => 'voluptatem',
            'date_request_list' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/cm/availability/update/sync-request

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: qui

room_type_id   string     

uuid of Room Type Property Example: voluptatem

date_request_list   string[]  optional    

date avilable request.

CM - Price And Restriction Update

Datatables Price And Restriction Update Smint Log

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/price-restriction/update/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"minima\",
    \"room_type_id\": \"officiis\",
    \"rate_plan_id\": \"adipisci\",
    \"status\": 19,
    \"filter_by\": \"from\",
    \"search_date_from\": \"qui\",
    \"search_date_to\": \"aut\",
    \"page_no\": 12
}"
const url = new URL(
    "http://localhost/api/v1/cm/price-restriction/update/datatables"
);

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

let body = {
    "property_id": "minima",
    "room_type_id": "officiis",
    "rate_plan_id": "adipisci",
    "status": 19,
    "filter_by": "from",
    "search_date_from": "qui",
    "search_date_to": "aut",
    "page_no": 12
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/price-restriction/update/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'minima',
            'room_type_id' => 'officiis',
            'rate_plan_id' => 'adipisci',
            'status' => 19,
            'filter_by' => 'from',
            'search_date_from' => 'qui',
            'search_date_to' => 'aut',
            'page_no' => 12,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/cm/price-restriction/update/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: minima

room_type_id   string  optional    

optional uuid of Room Type Property if want filter by room Type Example: officiis

rate_plan_id   string  optional    

optional uuid of Rate Plan Property if want filter by Rate Plan Example: adipisci

status   integer  optional    

with value 1: inprogrees, 2: Success, 3: Errors Example: 19

filter_by   string  optional    

search by. Example: from

Must be one of:
  • from
  • to
search_date_from   string  optional    

with format date Y-m-d Example: qui

search_date_to   string  optional    

with format date Y-m-d Example: aut

page_no   integer  optional    

number of pagination Example: 12

Option Price And Restriction

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/price-restriction/update/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"mode\": \"room_type_list\",
    \"room_type_id\": \"qui\",
    \"rate_plan_id\": \"facilis\",
    \"date_from\": \"in\",
    \"date_to\": \"repellat\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/price-restriction/update/dropdown/list"
);

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

let body = {
    "property_id": "et",
    "mode": "room_type_list",
    "room_type_id": "qui",
    "rate_plan_id": "facilis",
    "date_from": "in",
    "date_to": "repellat"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/price-restriction/update/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'mode' => 'room_type_list',
            'room_type_id' => 'qui',
            'rate_plan_id' => 'facilis',
            'date_from' => 'in',
            'date_to' => 'repellat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/cm/price-restriction/update/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: et

mode   string  optional    

The language. Example: room_type_list

Must be one of:
  • room_type_list
  • rate_plan_list
  • price_restriction_list
room_type_id   string     

uuid of Room Type Property Example: qui

rate_plan_id   string     

uuid of Rate Plan Property Example: facilis

date_from   string  optional    

with format date Y-m-d, this use when mode availability_list Example: in

date_to   string  optional    

with format date Y-m-d, this use when mode availability_list Example: repellat

Sync Request

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/price-restriction/update/sync-request" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"room_type_id\": \"et\",
    \"rate_plan_id\": \"tempore\",
    \"date_request_list\": null
}"
const url = new URL(
    "http://localhost/api/v1/cm/price-restriction/update/sync-request"
);

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

let body = {
    "property_id": "et",
    "room_type_id": "et",
    "rate_plan_id": "tempore",
    "date_request_list": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/price-restriction/update/sync-request';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'room_type_id' => 'et',
            'rate_plan_id' => 'tempore',
            'date_request_list' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/cm/price-restriction/update/sync-request

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: et

room_type_id   string     

uuid of Room Type Property Example: et

rate_plan_id   string     

uuid of Rate Plan Property Example: tempore

date_request_list   string[]  optional    

date avilable request.

CM - Property Map

Add / Update Property Maping Channel Manager Input

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/property/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"cm_active_list_id\": \"sit\",
    \"property_id\": \"nihil\",
    \"cm_property_id\": \"amet\",
    \"cm_property_code\": \"hic\",
    \"cm_property_name\": \"aut\",
    \"credentials\": \"qui\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/property/map"
);

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

let body = {
    "cm_active_list_id": "sit",
    "property_id": "nihil",
    "cm_property_id": "amet",
    "cm_property_code": "hic",
    "cm_property_name": "aut",
    "credentials": "qui",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/property/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'cm_active_list_id' => 'sit',
            'property_id' => 'nihil',
            'cm_property_id' => 'amet',
            'cm_property_code' => 'hic',
            'cm_property_name' => 'aut',
            'credentials' => 'qui',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/cm/property/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

cm_active_list_id   string     

UUID of Channel Manager Active List Example: sit

property_id   string     

UUID of Property Example: nihil

cm_property_id   string     

ID of Property on Channel Manager Example: amet

cm_property_code   string  optional    

optional Code of Property on Channel Manager Example: hic

cm_property_name   string  optional    

optional Name of Property on Channel Manager Example: aut

credentials   string     

Credentials need of Property on Channel Manager Example: qui

id   string  optional    

if need uuid for update Property Mapping Channel Manager Input . Example: '********-****-****-****-************'

Property Maping Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/cm/property/map/detail/97fd4fb4-d4a9-32cb-a892-c9f90a7eb859" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/cm/property/map/detail/97fd4fb4-d4a9-32cb-a892-c9f90a7eb859"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/property/map/detail/97fd4fb4-d4a9-32cb-a892-c9f90a7eb859';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{"message":"Success get Feature Detail","data":{"id":"e1679215-52d3-49b2-b369-09e1496f759a","name":"System Features","category"{"id":"796b8a28-e184-49e8-be8c-19fe898e0439","name":"System Setup"}}}
 

Request   

GET api/v1/cm/property/map/detail/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property Maping. Example: 97fd4fb4-d4a9-32cb-a892-c9f90a7eb859

datatable Property Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/property/map/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"ratione\",
    \"cm_active_list_id\": \"magnam\",
    \"cm_property_id\": \"fuga\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/property/map/datatables"
);

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

let body = {
    "property_id": "ratione",
    "cm_active_list_id": "magnam",
    "cm_property_id": "fuga"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/property/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'ratione',
            'cm_active_list_id' => 'magnam',
            'cm_property_id' => 'fuga',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Booking Data",
    "data": {
        "item": [
            {
                "booking_id": "ebbe1188-5c63-444c-947f-3e1e1fa9e217",
                "booking_no": "20250324/HOTELDUMMY/0000000005",
                "booking_reference": null,
                "booking_by": "Mr. Anton Poernomo",
                "total_nights": 3,
                "total_adults": 2,
                "total_childrens": 0,
                "user_created": "Agus Bawa",
                "user_updated": null,
                "created_at": "2025-03-24T04:07:46.000000Z",
                "updated_at": "2025-03-24T04:07:46.000000Z",
                "status": {
                    "name": "In Hold",
                    "fg_color": "#000000",
                    "bg_color": "#ffc107"
                },
                "hold_date": "2025-03-24",
                "list_room": [
                    {
                        "id": "5caf7ef6-f0b1-45ab-9284-943b3016a64d",
                        "room_type": "Standard",
                        "room": "103",
                        "guest_in_room": "Mr. Anton Poernomo",
                        "guest_status_in_room": "No Status",
                        "arival": "2025-03-25",
                        "depature": "2025-03-28",
                        "check_in": null,
                        "check_out": null,
                        "check_in_by": null,
                        "check_out_by": null
                    }
                ],
                "booking_function": {
                    "cancel": null,
                    "confirm": {
                        "status": true,
                        "id": "ad430d5a-a2f1-4927-bb0a-926f00ebf8b6"
                    },
                    "update": {
                        "status": true,
                        "id": "ebbe1188-5c63-444c-947f-3e1e1fa9e217"
                    }
                }
            }
        ],
        "pagination": {
            "current_page": 1,
            "total_page": 1,
            "total_item": 1,
            "total_item_current_page": 1
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/cm/property/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: ratione

cm_active_list_id   string     

uuid of Cm Active List Example: magnam

cm_property_id   string     

uuid of Cm Property Example: fuga

Option Property Maping Channel Manager Input

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/property/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"property_list\",
    \"cm_id\": \"quas\",
    \"property_id\": \"voluptatem\",
    \"credentials\": \"non\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/property/map/dropdown/list"
);

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

let body = {
    "mode": "property_list",
    "cm_id": "quas",
    "property_id": "voluptatem",
    "credentials": "non"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/property/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'property_list',
            'cm_id' => 'quas',
            'property_id' => 'voluptatem',
            'credentials' => 'non',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/cm/property/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: property_list

Must be one of:
  • cm_list
  • property_list
  • verify_cm
  • cm_property_list
cm_id   string  optional    

cm id this use when mode is verify_cm,cm_property_list Example: quas

property_id   string  optional    

property id this use when mode is verify_cm,cm_property_list Example: voluptatem

credentials   string  optional    

cnx user api key this use when mode is verify_cm,cm_property_list Example: non

Remove Property Maping Channel Manager Input

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/property/map/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"ex\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/property/map/remove"
);

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

let body = {
    "id": "ex"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/property/map/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'ex',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Property Maping Channel Manager Input",
    "data": []
}
 

Request   

POST api/v1/cm/property/map/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property Maping Channel Manager Input Example: ex

CM - Room Type and Rate Plan Mapping

Add / Update Property Maping Channel Manager Input

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/room-type-and-rate-plan/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"voluptates\",
    \"room_type_and_rate_plan_list\": [
        \"exercitationem\"
    ]
}"
const url = new URL(
    "http://localhost/api/v1/cm/room-type-and-rate-plan/map"
);

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

let body = {
    "property_id": "voluptates",
    "room_type_and_rate_plan_list": [
        "exercitationem"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/room-type-and-rate-plan/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'voluptates',
            'room_type_and_rate_plan_list' => [
                'exercitationem',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/cm/room-type-and-rate-plan/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

UUID of Property Example: voluptates

room_type_and_rate_plan_list   string[]  optional    

list room type and rate plan will maping. example: [{"room_type_id":"024139d5-824d-4cbb-b591-f23e1c3b3201","room_type_name":"Twin Room","cm_room_type_id":null,"cm_room_type_name":null,"rate_plan_list":[{"rate_plan_id":"e1d50c5a-5a4f-43bb-a6bc-3e42c8016b12","rate_plan_name":"Best Available Rate","rate_plan_remark":"Best Available Rate","cm_rate_plan_id":null,"cm_rate_plan_name":null}]}]

Detail Maping Editor

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/room-type-and-rate-plan/map/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"magni\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/room-type-and-rate-plan/map/detail"
);

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

let body = {
    "property_id": "magni"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/room-type-and-rate-plan/map/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'magni',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/cm/room-type-and-rate-plan/map/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   uuid     

this Property Example: magni

Option Agent Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/cm/room-type-and-rate-plan/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"ad\",
    \"mode\": \"cm_room_type_list\",
    \"cm_room_type_id\": \"quia\"
}"
const url = new URL(
    "http://localhost/api/v1/cm/room-type-and-rate-plan/map/dropdown/list"
);

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

let body = {
    "property_id": "ad",
    "mode": "cm_room_type_list",
    "cm_room_type_id": "quia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/cm/room-type-and-rate-plan/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'ad',
            'mode' => 'cm_room_type_list',
            'cm_room_type_id' => 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/cm/room-type-and-rate-plan/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: ad

mode   string  optional    

The language. Example: cm_room_type_list

Must be one of:
  • cm_room_type_list
  • cm_rate_plan_list
cm_room_type_id   string  optional    

optional this channel manager room type id Example: quia

Chart Of Account Default

COA Default List

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"query_search\": \"beatae\",
    \"type_id\": \"sed\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default/list"
);

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

let body = {
    "query_search": "beatae",
    "type_id": "sed"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'query_search' => 'beatae',
            'type_id' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 2,
    "recordsFiltered": 2,
    "data": [
        {
            "id": null,
            "name": "Full Chart Of Account",
            "total_account": 1274
        },
        {
            "id": null,
            "name": "Simple Chart Of Account",
            "total_account": 233
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"chart_of_account_default_templates\" where \"chart_of_account_default_templates\".\"deleted_at\" is null",
            "bindings": [],
            "time": 2.17
        },
        {
            "query": "select \"id\", \"name\" from \"chart_of_account_default_templates\" where \"chart_of_account_default_templates\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.31
        },
        {
            "query": "select * from \"chart_of_account_default_template_lists\" where \"chart_of_account_default_template_lists\".\"template_id\" = ? and \"chart_of_account_default_template_lists\".\"template_id\" is not null and \"chart_of_account_default_template_lists\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 4.58
        },
        {
            "query": "select * from \"chart_of_account_default_template_lists\" where \"chart_of_account_default_template_lists\".\"template_id\" = ? and \"chart_of_account_default_template_lists\".\"template_id\" is not null and \"chart_of_account_default_template_lists\".\"deleted_at\" is null",
            "bindings": [
                2
            ],
            "time": 1.03
        }
    ],
    "input": []
}
 

Request   

POST api/v1/master/chart-of-account-default/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

query_search   string     

name of coa finding Example: beatae

type_id   string  optional    

uuid of COA type if want filter by type. Example: sed

Add / Update COA Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"coa_id\": \"porro\",
    \"parent_id\": \"at\",
    \"type_id\": \"magnam\",
    \"department_id\": \"quaerat\",
    \"code\": \"dolores\",
    \"name\": \"saepe\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default/update"
);

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

let body = {
    "coa_id": "porro",
    "parent_id": "at",
    "type_id": "magnam",
    "department_id": "quaerat",
    "code": "dolores",
    "name": "saepe"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'coa_id' => 'porro',
            'parent_id' => 'at',
            'type_id' => 'magnam',
            'department_id' => 'quaerat',
            'code' => 'dolores',
            'name' => 'saepe',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Chart Of Account Default Data",
    "data": {
        "id": "10889fad-a074-4c30-8b2c-ae4e1b81b209",
        "parent_id": "210b2362-d9f6-45e0-a25b-ead638df9b91",
        "code": "9999090000",
        "name": "test Chart Of Account Insert edit",
        "type": {
            "id": "0c02278f-ebee-49d2-9d1c-138af408a63f",
            "name": "REVENUE",
            "head_code": 1
        },
        "department": {
            "id": "134cdd02-f46d-4f0c-b273-2bd26a454356",
            "name": "FRONT OFFICE"
        }
    }
}
 

Request   

POST api/v1/master/chart-of-account-default/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

coa_id   string  optional    

uuid of Chart Of Account this required if update current data. Example: porro

parent_id   string  optional    

uuid of Chart Of Account required if coa is sub. Example: at

type_id   string  optional    

uuid of COA type required if have coa type. Example: magnam

department_id   string  optional    

uuid of COA type required if have coa department. Example: quaerat

code   string     

Code COA Example: dolores

name   string     

Name COA Example: saepe

Remove COA Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"coa_id\": \"temporibus\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default/remove"
);

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

let body = {
    "coa_id": "temporibus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'coa_id' => 'temporibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/master/chart-of-account-default/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

coa_id   string     

uuid of COA Example: temporibus

Option Input COA Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"parentcoa\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default/dropdown/list"
);

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

let body = {
    "mode": "parentcoa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'parentcoa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Parrent Chart Of Accounts Founds",
    "data": [
        {
            "key": "210b2362-d9f6-45e0-a25b-ead638df9b91",
            "label": "1101 - HOUSE BANK"
        },
        {
            "key": "4ca4727f-53b2-46b7-b075-d91d6e0b4cfe",
            "label": "1102 - BANK"
        },
        {
            "key": "8fc28675-351f-433a-a5db-5a1de3034372",
            "label": "1103 - CASH CLEARANCE"
        },
        {
            "key": "8830ca00-d308-4e6a-95d4-62ad01228e90",
            "label": "1200 - ACCOUNT RECEIVABLE"
        },
        {
            "key": "fd1c04d4-ff02-4dff-90aa-19af7117ba57",
            "label": "1202 - OTHER RECEIVABLE"
        },
        {
            "key": "b42ccf09-1d0e-41a3-8eab-21ae5d2e0f31",
            "label": "1205 - AFFILIATED COMP.RECEIVABLE"
        },
        {
            "key": "81646715-b856-468a-b043-139486a308ca",
            "label": "1206 - DEPOSIT AND ADVANCED"
        },
        {
            "key": "b2267586-3d5e-493b-8ab1-77a112e3e839",
            "label": "1300 - INVENTORY"
        },
        {
            "key": "4081e874-138d-458c-90cb-aa0393c3bd3b",
            "label": "1302 - PREPAID EXPENSES"
        },
        {
            "key": "803cb6c1-fce1-46b0-b17e-37c2de7d8b67",
            "label": "1500 - PROPERTY & EQUIPMENT"
        },
        {
            "key": "23b79ab7-6670-4bad-944a-94483d9bbc28",
            "label": "1503 - FURNITURE, FIXTURE & EQUIPMENT"
        },
        {
            "key": "fc6257ca-106a-4d9e-8a30-b7d0c2f6dab3",
            "label": "1505 - OPERATING EQUIPMENT"
        },
        {
            "key": "f6ee9426-57c4-4a73-a344-ec04dd5f68c2",
            "label": "1600 - FIXED ASSET LEASING"
        },
        {
            "key": "eff45872-f200-426a-8041-c11c064a7166",
            "label": "1700 - ACC. DEPRE PROPERTY & EQUIPMENT"
        },
        {
            "key": "5d020502-871e-4947-bc42-fe51ac519653",
            "label": "1701 - ACC. DEPRE FURNITURE, FIXTURE &"
        },
        {
            "key": "0b09c462-295b-434d-a5d2-9dadc6f239ee",
            "label": "1702 - ACC. DEPRE OPERATING EQUIPMENT"
        },
        {
            "key": "bcb9d228-589b-43a0-b6ed-59aa4568e95c",
            "label": "1703 - ACC. DEPRE FIXED ASSET LEASING"
        },
        {
            "key": "fc5c56af-55b9-4ed2-8bc2-f388e9001554",
            "label": "1800 - OTHER ASSET"
        },
        {
            "key": "06a1cbb6-6f5e-4cfd-80a1-207b580c4717",
            "label": "2100 - ACCOUNT PAYABLE"
        },
        {
            "key": "7a790a80-bd59-4e79-8869-ace6fa7a55e0",
            "label": "2200 - TAX PAYABLE"
        },
        {
            "key": "8c0fd310-cc35-4ace-94e2-deb37cc79aa2",
            "label": "2300 - ACCRUED EXPENSES"
        },
        {
            "key": "00a4706d-5d9e-4a08-ba6d-9caccf45bff0",
            "label": "2400 - GUEST DEPOSIT"
        },
        {
            "key": "23c40acd-12b8-4ba1-aab9-d054cd541b30",
            "label": "2500 - OTHER LIABILITIES"
        },
        {
            "key": "b647d91e-7061-4a12-af2f-6d6cc89a7139",
            "label": "2600 - AFFILIATED COMPANY PAYABLE"
        },
        {
            "key": "7d690279-16ba-4ab1-9903-8cb04e88030f",
            "label": "2700 - PROVISION"
        },
        {
            "key": "a5e8d2a9-9ce6-43db-8283-19b2f4068274",
            "label": "2800 - RESERVE"
        },
        {
            "key": "b5f2fac5-37ae-4e9b-bb6f-7fe3185bfd11",
            "label": "2900 - LONG TERM LIABILITIES"
        },
        {
            "key": "56c709ec-38ea-4def-8c96-5a5fd04946c2",
            "label": "3100 - CAPITAL"
        },
        {
            "key": "7e95b34b-f1e8-4f04-b23a-04e3f2be8187",
            "label": "3200 - RETAINED EARNING"
        },
        {
            "key": "5a5cb85b-1ad5-4da5-a291-f914204af921",
            "label": "4001 - ROOM REVENUE"
        },
        {
            "key": "5555087b-30be-4759-85f8-d8acd3220c05",
            "label": "4102 - RESTAURANT REVENUE"
        },
        {
            "key": "cd40bf4e-8bb0-4af0-a619-22fc8d08e952",
            "label": "4103 - POOL BAR REVENUE"
        },
        {
            "key": "d13274cb-3158-4389-b05e-200f4932e613",
            "label": "4104 - BANQUET REVENUE"
        },
        {
            "key": "1000d05d-6280-4dec-9e1f-3231b821dd96",
            "label": "4105 - ROOM SERVICE REVENUE"
        },
        {
            "key": "480b5176-37b9-4851-b6db-1da3c22a015c",
            "label": "4106 - MINI BAR"
        },
        {
            "key": "2c55fb76-5ea6-4d3a-8430-fa2bbcfd9869",
            "label": "4107 - TELEPHONE REVENUE"
        },
        {
            "key": "6e024e8d-8ead-4623-b9d1-9d3370320af5",
            "label": "4108 - BUSINESS CENTER REVENUE"
        },
        {
            "key": "601d1eec-00a2-4300-9ebf-517fce44cd39",
            "label": "4109 - LAUNDRY REVENUE"
        },
        {
            "key": "698a22e9-7e09-402a-9ddd-13e19140def3",
            "label": "4110 - SPA REVENUE"
        },
        {
            "key": "d25c9ab5-95f5-47d4-a47e-ba8147bb7053",
            "label": "4301 - MOD REVENUE"
        },
        {
            "key": "60a19460-3517-48e6-82cf-e6855fe276f8",
            "label": "4302 - OTHER INCOME"
        },
        {
            "key": "ee51d258-0c3e-4971-ac91-bca3dafb8537",
            "label": "5000 - COST OF RESTAURANT"
        },
        {
            "key": "17d2fd3c-55fa-4e59-8fc2-cba98b557be9",
            "label": "5101 - COST OF POOL BAR"
        },
        {
            "key": "8504db70-44d7-4e62-9510-1ffca276c4c2",
            "label": "5102 - COST OF BANQUET"
        },
        {
            "key": "d7e55854-cc2b-4d9a-a693-8c5ce9d65891",
            "label": "5103 - COST OF ROOM SERVICE"
        },
        {
            "key": "e1c8b321-ebd6-499d-9002-2abd99c8fe66",
            "label": "5104 - TELEPHONE COST OF SALES"
        },
        {
            "key": "e2415705-6352-4899-a164-129e20aaa4aa",
            "label": "5105 - BC COST OF SALES"
        },
        {
            "key": "59c308ac-df35-44fd-b562-1e63312a84ad",
            "label": "5106 - LAUNDRY COST OF SALES"
        },
        {
            "key": "d8ee2e0b-57ac-40a3-b5af-157d539093b7",
            "label": "5109 - SPA COST OF SALES"
        },
        {
            "key": "820d1acc-0efb-4de8-9172-44c62e001a0c",
            "label": "5110 - MOD COST OF SALES"
        },
        {
            "key": "2d243fe1-1cfd-4205-88cc-cac68ef3eb43",
            "label": "6100 - FO PAYROLL & RELATED"
        },
        {
            "key": "5a9f0e73-9aaf-4d19-8dde-7223ae74feeb",
            "label": "6101 - FO OTHER EXPENSES"
        },
        {
            "key": "f4013403-dc42-4c57-bd58-4566fa2647d1",
            "label": "6102 - FO PROVISION"
        },
        {
            "key": "4e58b804-17b3-4447-a1a6-0359d713be34",
            "label": "6110 - HK PAYROLL & RELATED"
        },
        {
            "key": "8d103cc4-73d9-41e1-a647-0003af126eb1",
            "label": "6111 - HK OTHER EXPENSES"
        },
        {
            "key": "700d17b7-a83c-4532-ad5a-a307035687cc",
            "label": "6112 - HK PROVISION"
        },
        {
            "key": "15901219-d41c-4a2f-8329-6c5737cc0b11",
            "label": "6120 - REST PAYROLL & RELATED"
        },
        {
            "key": "9142a74a-ea26-4f5a-a106-5a6a1b0e7df4",
            "label": "6121 - REST OTHER EXPENSES"
        },
        {
            "key": "9a2a4764-6f60-4633-96a4-332dd6571e46",
            "label": "6122 - REST PROVISION"
        },
        {
            "key": "e60ce86c-68b4-4cde-bc85-28231266cee4",
            "label": "6130 - POOL BAR PAYROLL & RELATED"
        },
        {
            "key": "e561a4f8-588d-43aa-8a20-188edd2ae811",
            "label": "6131 - POOL BAR OTHER EXPENSES"
        },
        {
            "key": "4ffa54ed-feaf-4ed4-b661-1cf72df33a31",
            "label": "6132 - POOL BAR PROVISION"
        },
        {
            "key": "1e542c97-b3ee-479e-9859-4a1975e87c52",
            "label": "6140 - RS PAYROLL & RELATED"
        },
        {
            "key": "a05037f3-b44d-489a-a097-837f581d106c",
            "label": "6141 - RS OTHER EXPENSES"
        },
        {
            "key": "2a7be2e9-2c2f-4c77-b6b2-4c83c5ffdf10",
            "label": "6142 - RS PROVISION"
        },
        {
            "key": "d6054b4f-b5b0-4946-b6d9-f05cab48e2f9",
            "label": "6150 - BQT PAYROLL & RELATED"
        },
        {
            "key": "5dfb17b7-644a-43d4-baa5-8f823d0f0abf",
            "label": "6151 - BQT OTHER EXPENSES"
        },
        {
            "key": "8aee3482-d98e-4574-9c62-409c055a2cb5",
            "label": "6152 - BQT PROVISION"
        },
        {
            "key": "97ff15af-1f9f-4b25-9425-8e5b3a0db63d",
            "label": "6160 - MB PAYROLL & RELATED"
        },
        {
            "key": "495d3064-00a5-4cb4-bb60-ca82950575ef",
            "label": "6161 - MB OTHER EXPENSES"
        },
        {
            "key": "4e7838a6-fedd-4db6-a456-0ceac8185a24",
            "label": "6162 - MB PROVISION"
        },
        {
            "key": "508580d4-445e-45a7-8447-9d111e6e0f8b",
            "label": "6170 - FBP PAYROLL & RELATED"
        },
        {
            "key": "7a24967c-4fb5-4864-a53a-4763131953d1",
            "label": "6171 - FBP OTHER EXPENSES"
        },
        {
            "key": "64f6f4e7-6caa-4530-9ffb-596c5c0a5cea",
            "label": "6172 - FBP PROVISION"
        },
        {
            "key": "f4dd92f5-3ef3-4d55-b1b1-253d95bbcf3b",
            "label": "6180 - TLP PAYROLL & RELATED"
        },
        {
            "key": "d9fa0a74-fcf2-45a9-a36a-efb43d5e75b5",
            "label": "6181 - TLP OTHER EXPENSES"
        },
        {
            "key": "255a250c-6b2e-491a-a4ee-8ad05f28adc4",
            "label": "6182 - TLP PROVISION"
        },
        {
            "key": "7d0178a5-6040-462b-9105-a183a4128bf6",
            "label": "6190 - BC PAYROLL & RELATED"
        },
        {
            "key": "a18b0837-5cc4-4742-9080-33cd4415556e",
            "label": "6191 - BC OTHER EXPENSES"
        },
        {
            "key": "6a948b29-0d86-46e8-8cb0-11b0f30b294a",
            "label": "6192 - BC PROVISION"
        },
        {
            "key": "42a8a678-5da8-4644-b26b-977350861f35",
            "label": "6200 - LDY PAYROLL & RELATED"
        },
        {
            "key": "a94ed02c-737f-4056-ae73-707f32e5abc0",
            "label": "6201 - LDY OTHER EXPENSES"
        },
        {
            "key": "fe2c9dba-908a-4435-b954-6ce2ebaec17c",
            "label": "6202 - LDY PROVISION"
        },
        {
            "key": "425639df-c5f6-47cd-88d8-7dd9b945cb2f",
            "label": "6210 - SPA PAYROLL & RELATED"
        },
        {
            "key": "fbd01d6b-377f-4379-8491-b483ed1ed76d",
            "label": "6211 - SPA OTHER EXPENSES"
        },
        {
            "key": "5156f809-0ca5-4421-83bd-e6951df9d9a0",
            "label": "6212 - SPA PROVISION"
        },
        {
            "key": "0d3c9d5b-f7cc-417a-a1eb-75d385f9d502",
            "label": "6230 - MOD PAYROLL & RELATED EXPENSES"
        },
        {
            "key": "26b4f9f7-9e9b-431b-a990-5ed7fead02be",
            "label": "6231 - MOD OTHER EXPENSES"
        },
        {
            "key": "0f681405-70ee-494e-80d9-46660a463c47",
            "label": "6232 - MOD PAYROLL & RELATED EXPENSES"
        },
        {
            "key": "55e203a3-c76b-4c65-864d-1aaf07fe93ba",
            "label": "7100 - A&G PAYROLL & RELATED"
        },
        {
            "key": "f4b92be1-a95a-46ca-a979-c2cf78456826",
            "label": "7101 - A&G OTHER EXPENSES"
        },
        {
            "key": "041c1a24-94a3-4e8e-8e71-38f5dc6bb26d",
            "label": "7200 - HRD PAYROLL & RELATED"
        },
        {
            "key": "55cc5a77-7315-49bb-aa3b-9347f9b206cb",
            "label": "7201 - HRD OTHER EXPENSES"
        },
        {
            "key": "6f36d345-6811-4ce1-9565-7e5aae6239ff",
            "label": "7300 - S&M PAYROLL & RELATED"
        },
        {
            "key": "473fe8e5-c982-443c-b247-841079b198ba",
            "label": "7301 - S&M OTHER EXPENSES"
        },
        {
            "key": "2bef6239-ed37-474e-a2a7-bda57da284f5",
            "label": "7400 - PMC PAYROLL & RELATED"
        },
        {
            "key": "5f558c00-7edb-4d51-9e16-e0c3a5bcfee9",
            "label": "7401 - PMC OTHER EXPENSES"
        },
        {
            "key": "52006a6e-3572-40d3-9a0b-eaa6001fc48b",
            "label": "7403 - PMC ENERGY COST"
        },
        {
            "key": "2246a00e-6edf-45ae-b28f-b26e3c942c30",
            "label": "8000 - OTHER DEDUCTION"
        },
        {
            "key": "72836a7f-caa3-46f0-bfe4-36eba0a4d565",
            "label": "9900 - STATISTIC"
        },
        {
            "key": "b520a39a-24a4-4b81-bfad-053e91218b49",
            "label": "9999090000 - test Chart Of Account Insert"
        },
        {
            "key": "b428bcd8-c55d-40bd-8847-4a59a288e1af",
            "label": "9999090000 - test Chart Of Account Insert"
        },
        {
            "key": "10889fad-a074-4c30-8b2c-ae4e1b81b209",
            "label": "9999090000 - test Chart Of Account Insert edit"
        }
    ]
}
 

Request   

POST api/v1/master/chart-of-account-default/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: parentcoa

Must be one of:
  • parentcoa
  • typecoa
  • departmentcoa

Copy And Setup Property COA Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default/property/setdefault" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"laborum\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default/property/setdefault"
);

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

let body = {
    "id": "laborum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default/property/setdefault';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'laborum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/master/chart-of-account-default/property/setdefault

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of COA Example: laborum

Download COA List Default

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/chart-of-account-default/list/print/et" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default/list/print/et"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default/list/print/et';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

GET api/v1/master/chart-of-account-default/list/print/{key}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

key   string  optional    

this value must encrypt with base64. parameter value {"property_id":null, "booking_room_id":null, "bill_model":(master,agent,guest)}.

responseFile Example: et

Chart Of Account Property

Chart Of Account List

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"aut\",
    \"query_search\": \"et\",
    \"type_id\": \"cum\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account/list"
);

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

let body = {
    "property_id": "aut",
    "query_search": "et",
    "type_id": "cum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'aut',
            'query_search' => 'et',
            'type_id' => 'cum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/master/chart-of-account/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of property id Example: aut

query_search   string     

name of coa finding Example: et

type_id   string  optional    

uuid of COA type if want filter by type. Example: cum

Add / Update COA Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"illo\",
    \"coa_id\": \"dignissimos\",
    \"parent_id\": \"velit\",
    \"type_id\": \"reprehenderit\",
    \"department_id\": \"perspiciatis\",
    \"code\": \"amet\",
    \"name\": \"dolore\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account"
);

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

let body = {
    "property_id": "illo",
    "coa_id": "dignissimos",
    "parent_id": "velit",
    "type_id": "reprehenderit",
    "department_id": "perspiciatis",
    "code": "amet",
    "name": "dolore"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'illo',
            'coa_id' => 'dignissimos',
            'parent_id' => 'velit',
            'type_id' => 'reprehenderit',
            'department_id' => 'perspiciatis',
            'code' => 'amet',
            'name' => 'dolore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/master/chart-of-account

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: illo

coa_id   string  optional    

uuid of Chart Of Account this required if update current data. Example: dignissimos

parent_id   string  optional    

uuid of Chart Of Account required if coa is sub. Example: velit

type_id   string  optional    

uuid of COA type required if have coa type. Example: reprehenderit

department_id   string  optional    

uuid of COA type required if have coa department. Example: perspiciatis

code   string     

Code COA Example: amet

name   string     

Name COA Example: dolore

Remove Property COA

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"coa_id\": \"rerum\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account/remove"
);

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

let body = {
    "coa_id": "rerum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'coa_id' => 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/master/chart-of-account/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

coa_id   string     

uuid of COA Example: rerum

Option Property Input COA

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"rerum\",
    \"mode\": \"parentcoa\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account/dropdown/list"
);

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

let body = {
    "property_id": "rerum",
    "mode": "parentcoa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'rerum',
            'mode' => 'parentcoa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/master/chart-of-account/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of COA Property Example: rerum

mode   string  optional    

The language. Example: parentcoa

Must be one of:
  • parentcoa
  • typecoa
  • departmentcoa

Chart Of Account Template

COA Default Template Datatable

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"parameter\": \"eaque\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/datatables"
);

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

let body = {
    "parameter": "eaque"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'parameter' => 'eaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 2,
    "recordsFiltered": 2,
    "data": [
        {
            "id": null,
            "name": "Full Chart Of Account",
            "total_account": 1274
        },
        {
            "id": null,
            "name": "Simple Chart Of Account",
            "total_account": 233
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"chart_of_account_default_templates\" where \"chart_of_account_default_templates\".\"deleted_at\" is null",
            "bindings": [],
            "time": 2.17
        },
        {
            "query": "select \"id\", \"name\" from \"chart_of_account_default_templates\" where \"chart_of_account_default_templates\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.31
        },
        {
            "query": "select * from \"chart_of_account_default_template_lists\" where \"chart_of_account_default_template_lists\".\"template_id\" = ? and \"chart_of_account_default_template_lists\".\"template_id\" is not null and \"chart_of_account_default_template_lists\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 4.58
        },
        {
            "query": "select * from \"chart_of_account_default_template_lists\" where \"chart_of_account_default_template_lists\".\"template_id\" = ? and \"chart_of_account_default_template_lists\".\"template_id\" is not null and \"chart_of_account_default_template_lists\".\"deleted_at\" is null",
            "bindings": [
                2
            ],
            "time": 1.03
        }
    ],
    "input": []
}
 

Request   

POST api/v1/master/chart-of-account-default-template/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

parameter   using  optional    

default datatable parameter. Example: eaque

COA Default Template Detail

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"template_id\": \"est\",
    \"type_id\": \"ea\",
    \"query_search\": \"aut\",
    \"page_no\": \"ducimus\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/detail"
);

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

let body = {
    "template_id": "est",
    "type_id": "ea",
    "query_search": "aut",
    "page_no": "ducimus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'template_id' => 'est',
            'type_id' => 'ea',
            'query_search' => 'aut',
            'page_no' => 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "e54a9af0-f7fd-437d-a4fc-66dc8e8f4cb8",
    "name": "Full Chart Of Account",
    "list_coa": {
        "total_page": 59,
        "current_page": 3,
        "record": [
            {
                "id": "2092ad65-7839-442b-9007-526009093455",
                "code": "1206",
                "name": "DEPOSIT AND ADVANCED",
                "child": [
                    {
                        "template_item_id": "45267d7b-9c57-40bf-8726-b0ca44853dc4",
                        "id": "94e17aa0-e1f2-4629-b43e-44af1ba78b20",
                        "parent_id": "2092ad65-7839-442b-9007-526009093455",
                        "code": "120-60-999",
                        "name": "Other Advanced",
                        "type": {
                            "id": "157a1548-6ac8-430f-9c52-369a85c5c1a9",
                            "name": "CURRENT ASSETS",
                            "head_code": 31
                        }
                    }
                ]
            },
            {
                "id": "507f9aa8-7f8a-454e-97a3-ae208f3e97ba",
                "code": "1300",
                "name": "INVENTORY",
                "child": [
                    {
                        "template_item_id": "3722c7c7-b046-4620-9c96-27ad66bf5a8f",
                        "id": "773d8fa4-293d-4d8b-a515-fbbd6ba1e19f",
                        "parent_id": "507f9aa8-7f8a-454e-97a3-ae208f3e97ba",
                        "code": "130-00-002",
                        "name": "Inventory Beverage",
                        "type": {
                            "id": "157a1548-6ac8-430f-9c52-369a85c5c1a9",
                            "name": "CURRENT ASSETS",
                            "head_code": 31
                        }
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/master/chart-of-account-default-template/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

template_id   using  optional    

uuid coa tempalate id. Example: est

type_id   using  optional    

uuid coa type id. Example: ea

query_search   using  optional    

for search coa By code or name. Example: aut

page_no   using  optional    

for set current page. Example: ducimus

COA Default Template Update

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"template_id\": \"nemo\",
    \"name\": \"maiores\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/update"
);

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

let body = {
    "template_id": "nemo",
    "name": "maiores"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'template_id' => 'nemo',
            'name' => 'maiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "success",
    "detail": {
        "name": "new template test",
        "list_coa": [],
        "id": "28edfa5a-08ab-40d0-ae27-72a487d51427"
    }
}
 

Request   

POST api/v1/master/chart-of-account-default-template/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

template_id   using  optional    

uuid coa tempalate id if this new please not set this parameter. Example: nemo

name   this  optional    

name of coa template. Example: maiores

COA Default Template list Add new

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/addlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"template_id\": \"officiis\",
    \"coa_id\": \"temporibus\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/addlist"
);

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

let body = {
    "template_id": "officiis",
    "coa_id": "temporibus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/addlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'template_id' => 'officiis',
            'coa_id' => 'temporibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "success",
    "list_coa": [
        {
            "id": "210b2362-d9f6-45e0-a25b-ead638df9b91",
            "code": "1101",
            "name": "HOUSE BANK",
            "type": {
                "id": "6f2cff3c-3b18-4c6d-b543-f6fb4f55f284",
                "name": "ASSET",
                "head_code": 3
            },
            "child": [
                {
                    "id": "20bb1926-0ae9-4fe7-b445-69c8f5115f1a",
                    "parent_id": "210b2362-d9f6-45e0-a25b-ead638df9b91",
                    "code": "110-10-007",
                    "name": "House Bank Purchasing",
                    "type": {
                        "id": "55f46545-51d1-4c56-9da6-c6919d08e34c",
                        "name": "CURRENT ASSETS",
                        "head_code": 31
                    }
                }
            ]
        },
        {
            "id": "4ca4727f-53b2-46b7-b075-d91d6e0b4cfe",
            "code": "1102",
            "name": "BANK",
            "type": {
                "id": "6f2cff3c-3b18-4c6d-b543-f6fb4f55f284",
                "name": "ASSET",
                "head_code": 3
            },
            "child": [
                {
                    "id": "3877494f-01dc-458e-a90c-d4f158386c56",
                    "parent_id": "4ca4727f-53b2-46b7-b075-d91d6e0b4cfe",
                    "code": "110-20-001",
                    "name": "Bank CIMB (800-121-005-400)",
                    "type": {
                        "id": "55f46545-51d1-4c56-9da6-c6919d08e34c",
                        "name": "CURRENT ASSETS",
                        "head_code": 31
                    }
                }
            ]
        }
    ]
}
 

Request   

POST api/v1/master/chart-of-account-default-template/addlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

template_id   using  optional    

uuid coa tempalate id. Example: officiis

coa_id   using  optional    

uuid coa id. Example: temporibus

COA Default Template Remove

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"template_id\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/remove"
);

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

let body = {
    "template_id": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'template_id' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "success",
    "msg": "success remove Chart Of Account Template"
}
 

Request   

POST api/v1/master/chart-of-account-default-template/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

template_id   using  optional    

uuid coa tempalate id if this new please not set this parameter. Example: aut

COA Default Template list Remove

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/removelist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"template_id\": \"ad\",
    \"coa_id\": \"sed\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/removelist"
);

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

let body = {
    "template_id": "ad",
    "coa_id": "sed"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/removelist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'template_id' => 'ad',
            'coa_id' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "success",
    "msg": "Success remove default template list coa"
}
 

Request   

POST api/v1/master/chart-of-account-default-template/removelist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

template_id   using  optional    

uuid coa tempalate id. Example: ad

coa_id   using  optional    

uuid coa id. Example: sed

Option Input COA Item Default

Example request:
curl --request POST \
    "http://localhost/api/v1/master/chart-of-account-default-template/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"parentcoa\",
    \"parent_id\": \"mollitia\"
}"
const url = new URL(
    "http://localhost/api/v1/master/chart-of-account-default-template/dropdown/list"
);

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

let body = {
    "mode": "parentcoa",
    "parent_id": "mollitia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/chart-of-account-default-template/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'parentcoa',
            'parent_id' => 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Parrent Chart Of Accounts Founds",
    "data": [
        {
            "key": "210b2362-d9f6-45e0-a25b-ead638df9b91",
            "label": "1101 - HOUSE BANK"
        },
        {
            "key": "4ca4727f-53b2-46b7-b075-d91d6e0b4cfe",
            "label": "1102 - BANK"
        },
        {
            "key": "8fc28675-351f-433a-a5db-5a1de3034372",
            "label": "1103 - CASH CLEARANCE"
        },
        {
            "key": "8830ca00-d308-4e6a-95d4-62ad01228e90",
            "label": "1200 - ACCOUNT RECEIVABLE"
        },
        {
            "key": "fd1c04d4-ff02-4dff-90aa-19af7117ba57",
            "label": "1202 - OTHER RECEIVABLE"
        },
        {
            "key": "b42ccf09-1d0e-41a3-8eab-21ae5d2e0f31",
            "label": "1205 - AFFILIATED COMP.RECEIVABLE"
        },
        {
            "key": "81646715-b856-468a-b043-139486a308ca",
            "label": "1206 - DEPOSIT AND ADVANCED"
        },
        {
            "key": "b2267586-3d5e-493b-8ab1-77a112e3e839",
            "label": "1300 - INVENTORY"
        },
        {
            "key": "4081e874-138d-458c-90cb-aa0393c3bd3b",
            "label": "1302 - PREPAID EXPENSES"
        },
        {
            "key": "803cb6c1-fce1-46b0-b17e-37c2de7d8b67",
            "label": "1500 - PROPERTY & EQUIPMENT"
        },
        {
            "key": "23b79ab7-6670-4bad-944a-94483d9bbc28",
            "label": "1503 - FURNITURE, FIXTURE & EQUIPMENT"
        },
        {
            "key": "fc6257ca-106a-4d9e-8a30-b7d0c2f6dab3",
            "label": "1505 - OPERATING EQUIPMENT"
        },
        {
            "key": "f6ee9426-57c4-4a73-a344-ec04dd5f68c2",
            "label": "1600 - FIXED ASSET LEASING"
        },
        {
            "key": "eff45872-f200-426a-8041-c11c064a7166",
            "label": "1700 - ACC. DEPRE PROPERTY & EQUIPMENT"
        },
        {
            "key": "5d020502-871e-4947-bc42-fe51ac519653",
            "label": "1701 - ACC. DEPRE FURNITURE, FIXTURE &"
        },
        {
            "key": "0b09c462-295b-434d-a5d2-9dadc6f239ee",
            "label": "1702 - ACC. DEPRE OPERATING EQUIPMENT"
        },
        {
            "key": "bcb9d228-589b-43a0-b6ed-59aa4568e95c",
            "label": "1703 - ACC. DEPRE FIXED ASSET LEASING"
        },
        {
            "key": "fc5c56af-55b9-4ed2-8bc2-f388e9001554",
            "label": "1800 - OTHER ASSET"
        },
        {
            "key": "06a1cbb6-6f5e-4cfd-80a1-207b580c4717",
            "label": "2100 - ACCOUNT PAYABLE"
        },
        {
            "key": "7a790a80-bd59-4e79-8869-ace6fa7a55e0",
            "label": "2200 - TAX PAYABLE"
        },
        {
            "key": "8c0fd310-cc35-4ace-94e2-deb37cc79aa2",
            "label": "2300 - ACCRUED EXPENSES"
        },
        {
            "key": "00a4706d-5d9e-4a08-ba6d-9caccf45bff0",
            "label": "2400 - GUEST DEPOSIT"
        },
        {
            "key": "23c40acd-12b8-4ba1-aab9-d054cd541b30",
            "label": "2500 - OTHER LIABILITIES"
        },
        {
            "key": "b647d91e-7061-4a12-af2f-6d6cc89a7139",
            "label": "2600 - AFFILIATED COMPANY PAYABLE"
        },
        {
            "key": "7d690279-16ba-4ab1-9903-8cb04e88030f",
            "label": "2700 - PROVISION"
        },
        {
            "key": "a5e8d2a9-9ce6-43db-8283-19b2f4068274",
            "label": "2800 - RESERVE"
        },
        {
            "key": "b5f2fac5-37ae-4e9b-bb6f-7fe3185bfd11",
            "label": "2900 - LONG TERM LIABILITIES"
        },
        {
            "key": "56c709ec-38ea-4def-8c96-5a5fd04946c2",
            "label": "3100 - CAPITAL"
        },
        {
            "key": "7e95b34b-f1e8-4f04-b23a-04e3f2be8187",
            "label": "3200 - RETAINED EARNING"
        },
        {
            "key": "5a5cb85b-1ad5-4da5-a291-f914204af921",
            "label": "4001 - ROOM REVENUE"
        },
        {
            "key": "5555087b-30be-4759-85f8-d8acd3220c05",
            "label": "4102 - RESTAURANT REVENUE"
        },
        {
            "key": "cd40bf4e-8bb0-4af0-a619-22fc8d08e952",
            "label": "4103 - POOL BAR REVENUE"
        },
        {
            "key": "d13274cb-3158-4389-b05e-200f4932e613",
            "label": "4104 - BANQUET REVENUE"
        },
        {
            "key": "1000d05d-6280-4dec-9e1f-3231b821dd96",
            "label": "4105 - ROOM SERVICE REVENUE"
        },
        {
            "key": "480b5176-37b9-4851-b6db-1da3c22a015c",
            "label": "4106 - MINI BAR"
        },
        {
            "key": "2c55fb76-5ea6-4d3a-8430-fa2bbcfd9869",
            "label": "4107 - TELEPHONE REVENUE"
        },
        {
            "key": "6e024e8d-8ead-4623-b9d1-9d3370320af5",
            "label": "4108 - BUSINESS CENTER REVENUE"
        },
        {
            "key": "601d1eec-00a2-4300-9ebf-517fce44cd39",
            "label": "4109 - LAUNDRY REVENUE"
        },
        {
            "key": "698a22e9-7e09-402a-9ddd-13e19140def3",
            "label": "4110 - SPA REVENUE"
        },
        {
            "key": "d25c9ab5-95f5-47d4-a47e-ba8147bb7053",
            "label": "4301 - MOD REVENUE"
        },
        {
            "key": "60a19460-3517-48e6-82cf-e6855fe276f8",
            "label": "4302 - OTHER INCOME"
        },
        {
            "key": "ee51d258-0c3e-4971-ac91-bca3dafb8537",
            "label": "5000 - COST OF RESTAURANT"
        },
        {
            "key": "17d2fd3c-55fa-4e59-8fc2-cba98b557be9",
            "label": "5101 - COST OF POOL BAR"
        },
        {
            "key": "8504db70-44d7-4e62-9510-1ffca276c4c2",
            "label": "5102 - COST OF BANQUET"
        },
        {
            "key": "d7e55854-cc2b-4d9a-a693-8c5ce9d65891",
            "label": "5103 - COST OF ROOM SERVICE"
        },
        {
            "key": "e1c8b321-ebd6-499d-9002-2abd99c8fe66",
            "label": "5104 - TELEPHONE COST OF SALES"
        },
        {
            "key": "e2415705-6352-4899-a164-129e20aaa4aa",
            "label": "5105 - BC COST OF SALES"
        },
        {
            "key": "59c308ac-df35-44fd-b562-1e63312a84ad",
            "label": "5106 - LAUNDRY COST OF SALES"
        },
        {
            "key": "d8ee2e0b-57ac-40a3-b5af-157d539093b7",
            "label": "5109 - SPA COST OF SALES"
        },
        {
            "key": "820d1acc-0efb-4de8-9172-44c62e001a0c",
            "label": "5110 - MOD COST OF SALES"
        },
        {
            "key": "2d243fe1-1cfd-4205-88cc-cac68ef3eb43",
            "label": "6100 - FO PAYROLL & RELATED"
        },
        {
            "key": "5a9f0e73-9aaf-4d19-8dde-7223ae74feeb",
            "label": "6101 - FO OTHER EXPENSES"
        },
        {
            "key": "f4013403-dc42-4c57-bd58-4566fa2647d1",
            "label": "6102 - FO PROVISION"
        },
        {
            "key": "4e58b804-17b3-4447-a1a6-0359d713be34",
            "label": "6110 - HK PAYROLL & RELATED"
        },
        {
            "key": "8d103cc4-73d9-41e1-a647-0003af126eb1",
            "label": "6111 - HK OTHER EXPENSES"
        },
        {
            "key": "700d17b7-a83c-4532-ad5a-a307035687cc",
            "label": "6112 - HK PROVISION"
        },
        {
            "key": "15901219-d41c-4a2f-8329-6c5737cc0b11",
            "label": "6120 - REST PAYROLL & RELATED"
        },
        {
            "key": "9142a74a-ea26-4f5a-a106-5a6a1b0e7df4",
            "label": "6121 - REST OTHER EXPENSES"
        },
        {
            "key": "9a2a4764-6f60-4633-96a4-332dd6571e46",
            "label": "6122 - REST PROVISION"
        },
        {
            "key": "e60ce86c-68b4-4cde-bc85-28231266cee4",
            "label": "6130 - POOL BAR PAYROLL & RELATED"
        },
        {
            "key": "e561a4f8-588d-43aa-8a20-188edd2ae811",
            "label": "6131 - POOL BAR OTHER EXPENSES"
        },
        {
            "key": "4ffa54ed-feaf-4ed4-b661-1cf72df33a31",
            "label": "6132 - POOL BAR PROVISION"
        },
        {
            "key": "1e542c97-b3ee-479e-9859-4a1975e87c52",
            "label": "6140 - RS PAYROLL & RELATED"
        },
        {
            "key": "a05037f3-b44d-489a-a097-837f581d106c",
            "label": "6141 - RS OTHER EXPENSES"
        },
        {
            "key": "2a7be2e9-2c2f-4c77-b6b2-4c83c5ffdf10",
            "label": "6142 - RS PROVISION"
        },
        {
            "key": "d6054b4f-b5b0-4946-b6d9-f05cab48e2f9",
            "label": "6150 - BQT PAYROLL & RELATED"
        },
        {
            "key": "5dfb17b7-644a-43d4-baa5-8f823d0f0abf",
            "label": "6151 - BQT OTHER EXPENSES"
        },
        {
            "key": "8aee3482-d98e-4574-9c62-409c055a2cb5",
            "label": "6152 - BQT PROVISION"
        },
        {
            "key": "97ff15af-1f9f-4b25-9425-8e5b3a0db63d",
            "label": "6160 - MB PAYROLL & RELATED"
        },
        {
            "key": "495d3064-00a5-4cb4-bb60-ca82950575ef",
            "label": "6161 - MB OTHER EXPENSES"
        },
        {
            "key": "4e7838a6-fedd-4db6-a456-0ceac8185a24",
            "label": "6162 - MB PROVISION"
        },
        {
            "key": "508580d4-445e-45a7-8447-9d111e6e0f8b",
            "label": "6170 - FBP PAYROLL & RELATED"
        },
        {
            "key": "7a24967c-4fb5-4864-a53a-4763131953d1",
            "label": "6171 - FBP OTHER EXPENSES"
        },
        {
            "key": "64f6f4e7-6caa-4530-9ffb-596c5c0a5cea",
            "label": "6172 - FBP PROVISION"
        },
        {
            "key": "f4dd92f5-3ef3-4d55-b1b1-253d95bbcf3b",
            "label": "6180 - TLP PAYROLL & RELATED"
        },
        {
            "key": "d9fa0a74-fcf2-45a9-a36a-efb43d5e75b5",
            "label": "6181 - TLP OTHER EXPENSES"
        },
        {
            "key": "255a250c-6b2e-491a-a4ee-8ad05f28adc4",
            "label": "6182 - TLP PROVISION"
        },
        {
            "key": "7d0178a5-6040-462b-9105-a183a4128bf6",
            "label": "6190 - BC PAYROLL & RELATED"
        },
        {
            "key": "a18b0837-5cc4-4742-9080-33cd4415556e",
            "label": "6191 - BC OTHER EXPENSES"
        },
        {
            "key": "6a948b29-0d86-46e8-8cb0-11b0f30b294a",
            "label": "6192 - BC PROVISION"
        },
        {
            "key": "42a8a678-5da8-4644-b26b-977350861f35",
            "label": "6200 - LDY PAYROLL & RELATED"
        },
        {
            "key": "a94ed02c-737f-4056-ae73-707f32e5abc0",
            "label": "6201 - LDY OTHER EXPENSES"
        },
        {
            "key": "fe2c9dba-908a-4435-b954-6ce2ebaec17c",
            "label": "6202 - LDY PROVISION"
        },
        {
            "key": "425639df-c5f6-47cd-88d8-7dd9b945cb2f",
            "label": "6210 - SPA PAYROLL & RELATED"
        },
        {
            "key": "fbd01d6b-377f-4379-8491-b483ed1ed76d",
            "label": "6211 - SPA OTHER EXPENSES"
        },
        {
            "key": "5156f809-0ca5-4421-83bd-e6951df9d9a0",
            "label": "6212 - SPA PROVISION"
        },
        {
            "key": "0d3c9d5b-f7cc-417a-a1eb-75d385f9d502",
            "label": "6230 - MOD PAYROLL & RELATED EXPENSES"
        },
        {
            "key": "26b4f9f7-9e9b-431b-a990-5ed7fead02be",
            "label": "6231 - MOD OTHER EXPENSES"
        },
        {
            "key": "0f681405-70ee-494e-80d9-46660a463c47",
            "label": "6232 - MOD PAYROLL & RELATED EXPENSES"
        },
        {
            "key": "55e203a3-c76b-4c65-864d-1aaf07fe93ba",
            "label": "7100 - A&G PAYROLL & RELATED"
        },
        {
            "key": "f4b92be1-a95a-46ca-a979-c2cf78456826",
            "label": "7101 - A&G OTHER EXPENSES"
        },
        {
            "key": "041c1a24-94a3-4e8e-8e71-38f5dc6bb26d",
            "label": "7200 - HRD PAYROLL & RELATED"
        },
        {
            "key": "55cc5a77-7315-49bb-aa3b-9347f9b206cb",
            "label": "7201 - HRD OTHER EXPENSES"
        },
        {
            "key": "6f36d345-6811-4ce1-9565-7e5aae6239ff",
            "label": "7300 - S&M PAYROLL & RELATED"
        },
        {
            "key": "473fe8e5-c982-443c-b247-841079b198ba",
            "label": "7301 - S&M OTHER EXPENSES"
        },
        {
            "key": "2bef6239-ed37-474e-a2a7-bda57da284f5",
            "label": "7400 - PMC PAYROLL & RELATED"
        },
        {
            "key": "5f558c00-7edb-4d51-9e16-e0c3a5bcfee9",
            "label": "7401 - PMC OTHER EXPENSES"
        },
        {
            "key": "52006a6e-3572-40d3-9a0b-eaa6001fc48b",
            "label": "7403 - PMC ENERGY COST"
        },
        {
            "key": "2246a00e-6edf-45ae-b28f-b26e3c942c30",
            "label": "8000 - OTHER DEDUCTION"
        },
        {
            "key": "72836a7f-caa3-46f0-bfe4-36eba0a4d565",
            "label": "9900 - STATISTIC"
        },
        {
            "key": "b520a39a-24a4-4b81-bfad-053e91218b49",
            "label": "9999090000 - test Chart Of Account Insert"
        },
        {
            "key": "b428bcd8-c55d-40bd-8847-4a59a288e1af",
            "label": "9999090000 - test Chart Of Account Insert"
        },
        {
            "key": "10889fad-a074-4c30-8b2c-ae4e1b81b209",
            "label": "9999090000 - test Chart Of Account Insert edit"
        }
    ]
}
 

Request   

POST api/v1/master/chart-of-account-default-template/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The mode. Example: parentcoa

Must be one of:
  • parentcoa
  • coa
parent_id   string  optional    

The Parent uuid need if mode coa. Example: mollitia

Current User Data

Update Current user

Example request:
curl --request POST \
    "http://localhost/api/v1/misc/currentuser" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"totam\",
    \"timezone_id\": \"ullam\",
    \"language_id\": \"modi\",
    \"name\": \"est\",
    \"phone\": \"eos\",
    \"password\": \"C6KN]1.8LS\\\"F#ft\",
    \"password_confirmation\": \"quas\"
}"
const url = new URL(
    "http://localhost/api/v1/misc/currentuser"
);

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

let body = {
    "id": "totam",
    "timezone_id": "ullam",
    "language_id": "modi",
    "name": "est",
    "phone": "eos",
    "password": "C6KN]1.8LS\"F#ft",
    "password_confirmation": "quas"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/misc/currentuser';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'totam',
            'timezone_id' => 'ullam',
            'language_id' => 'modi',
            'name' => 'est',
            'phone' => 'eos',
            'password' => 'C6KN]1.8LS"F#ft',
            'password_confirmation' => 'quas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Current User Data",
    "data": {
        "id": "ca8afc19-1c45-468b-a522-047232f959f5",
        "name": "Agus Bawa Nadi Putra update",
        "shortname": "Agus Bawa...",
        "phone": "081805410047",
        "category": "System Admin",
        "timezone": {
            "id": "461ce532-c63f-4ada-8a3b-4a6317b8bff1",
            "name": "Africa/Abidjan"
        },
        "language": {
            "id": "50d954be-3b99-43bf-abf8-50b1462b9825",
            "name": "Afrikaans"
        },
        "email": "[email protected]",
        "google2fa_secret": null,
        "google2fa_is_active": false,
        "properties": [
            {
                "id": "5e1932e0-7d6c-49e4-989c-6c6512263d8f",
                "name": "Hotel Dummy"
            }
        ]
    }
}
 

Request   

POST api/v1/misc/currentuser

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Current User Example: totam

timezone_id   string     

uuid of Timezone Example: ullam

language_id   string     

uuid of Timezone Example: modi

name   string     

Name of Amenities Example: est

phone   string     

User Phone Number Example: eos

password   string     

if want change user password Example: C6KN]1.8LS"F#ft

password_confirmation   string     

if want change user password must same with this Example: quas

User Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/misc/currentuser/detail" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/misc/currentuser/detail"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/misc/currentuser/detail';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Current User Detail",
    "data": {
        "id": "edc19627-47c2-412c-8a75-1a879c3c03b6",
        "name": "Master User Api",
        "shortname": "Master Use...",
        "phone": null,
        "category": "System Admin",
        "timezone": null,
        "language": null,
        "email": "[email protected]",
        "google2fa_secret": null,
        "google2fa_is_active": false,
        "properties": [
            {
                "id": "31db6935-0f23-4939-b31f-d4bd1a1af828",
                "name": "Hotel Dummy"
            }
        ],
        "features": {
            "language_settings": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "currency_settings": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "timezone_settings": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "country_settings": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "region_settings": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "area_settings": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "features_categories": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "user_category_features_defaults": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "properties": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "users": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_status_default": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "amenities_list_default": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "chart_of_account_default": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "chart_of_account_template": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_amenities_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_status_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_bed_type_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_type": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "rooms_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_rates": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "reservation": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "room_available": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "night_audit": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "guest_profile": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "guest_list_daily": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "guest_payment": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "chart_of_account": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "tax_and_service_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "agent_property_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ],
            "payment_options_list": [
                "can_list",
                "can_view",
                "can_add",
                "can_edit",
                "can_delete"
            ]
        }
    }
}
 

Request   

GET api/v1/misc/currentuser/detail

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Amenities. Example: 2da5bb91-ca54-3fba-8442-3cca2e350c9a

Enable / Disable google2fa

Example request:
curl --request POST \
    "http://localhost/api/v1/misc/currentuser/google2fa/setting" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"status\": 14
}"
const url = new URL(
    "http://localhost/api/v1/misc/currentuser/google2fa/setting"
);

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

let body = {
    "status": 14
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/misc/currentuser/google2fa/setting';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'status' => 14,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": true,
    "secret": "ROXTGX2RYNKYB7L5",
    "appname": "Loka Room",
    "qr_code_url": "otpauth://totp/Loka%20Room:master%40lokaroom.net?secret=ROXTGX2RYNKYB7L5&issuer=Loka%20Room&algorithm=SHA1&digits=6&period=30"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/misc/currentuser/google2fa/setting

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

status   integer     

value 1 for enable value 0 for disable Example: 14

Option Editor Current User Input

Example request:
curl --request POST \
    "http://localhost/api/v1/misc/currentuser/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"timezone\"
}"
const url = new URL(
    "http://localhost/api/v1/misc/currentuser/dropdown/list"
);

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

let body = {
    "mode": "timezone"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/misc/currentuser/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'timezone',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Timezone Founds",
    "data": [
        {
            "id": "59af78ff-d35f-40e4-8220-ff67af5d07a3",
            "name": "Africa/Abidjan"
        },
        {
            "id": "f311336a-f1ee-4c7b-9e1e-7d6e61c67e41",
            "name": "Africa/Accra"
        },
        {
            "id": "a9454d6b-abe6-459b-8b97-e710df56c993",
            "name": "Africa/Addis_Ababa"
        }
    ]
}
 

Request   

POST api/v1/misc/currentuser/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: timezone

Must be one of:
  • timezone
  • language

Daily Revenue Report

Daily Revenue List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/daily-revenue/report" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"aliquid\",
    \"days\": \"enim\",
    \"list_type\": \"source_list.\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/daily-revenue/report"
);

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

let body = {
    "property_id": "aliquid",
    "days": "enim",
    "list_type": "source_list."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/daily-revenue/report';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'aliquid',
            'days' => 'enim',
            'list_type' => 'source_list.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Daily Found",
    "data": {
        "in_house": [
            {
                "room_type_name": "Standard",
                "list": [
                    {
                        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
                        "booking_no": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "guest": {
                            "name": "Mr. Takayuki Nomoto",
                            "id": "2da48c55-2688-443f-99b3-47ab29616604"
                        },
                        "country": {
                            "name": "Japan",
                            "id": "72a89d6b-78a8-4db9-b66c-3a16af183567"
                        },
                        "room_type": {
                            "name": "Standard",
                            "id": "a880635a-810f-4f9b-b39a-3f49387ec7d5"
                        },
                        "room": {
                            "name": "101",
                            "id": "e7541067-7551-4905-b13a-e7f026a06a48"
                        },
                        "agent": {
                            "name": "Walk In",
                            "id": "e41961d9-620e-4290-9497-64ece423e82c"
                        },
                        "arival": "2024-09-17",
                        "depature": "2024-09-19",
                        "adult": 2,
                        "child": 2,
                        "special_request": null,
                        "remark": null
                    }
                ]
            }
        ]
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/backoffice/daily-revenue/report

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: aliquid

days   string  optional    

date of date report date format Y-m-d. Example: enim

list_type   string  optional    

required. Example: source_list.

Must be one of:
  • drr
  • macro

Endpoints

POST api/v1/property/trx/test

Example request:
curl --request POST \
    "http://localhost/api/v1/property/trx/test"
const url = new URL(
    "http://localhost/api/v1/property/trx/test"
);

fetch(url, {
    method: "POST",
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/trx/test';
$response = $client->post($url);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/property/trx/test

General Area

Area Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/general/area/details/1aab1a26-9ab3-36de-9053-3ef1f54f7d02" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/area/details/1aab1a26-9ab3-36de-9053-3ef1f54f7d02"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/area/details/1aab1a26-9ab3-36de-9053-3ef1f54f7d02';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

GET api/v1/general/area/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Regions. Example: 1aab1a26-9ab3-36de-9053-3ef1f54f7d02

Area Datatables

Example request:
curl --request POST \
    "http://localhost/api/v1/general/area/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/area/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/area/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/general/area/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Area

Example request:
curl --request POST \
    "http://localhost/api/v1/general/area" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"dolor\",
    \"region_id\": \"\'********-****-****-****-************\'\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/general/area"
);

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

let body = {
    "name": "dolor",
    "region_id": "'********-****-****-****-************'",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/area';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'dolor',
            'region_id' => '\'********-****-****-****-************\'',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/general/area

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of Area. Example: dolor

region_id   string     

the uuid of Region. Example: '********-****-****-****-************'

id   string  optional    

if need uuid for update name of Area. Example: '********-****-****-****-************'

Remove Area

Example request:
curl --request POST \
    "http://localhost/api/v1/general/area/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"amet\"
}"
const url = new URL(
    "http://localhost/api/v1/general/area/remove"
);

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

let body = {
    "id": "amet"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/area/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'amet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Country",
    "data": []
}
 

Request   

POST api/v1/general/area/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Area Example: amet

General Country

Country Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/general/country/details/e62ac152-9f37-3db8-a3fa-c1775cf63383" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/country/details/e62ac152-9f37-3db8-a3fa-c1775cf63383"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/country/details/e62ac152-9f37-3db8-a3fa-c1775cf63383';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{"message":"Success get Feature Detail","data":{"id":"e1679215-52d3-49b2-b369-09e1496f759a","name":"System Features","category"{"id":"796b8a28-e184-49e8-be8c-19fe898e0439","name":"System Setup"}}}
 

Request   

GET api/v1/general/country/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Country. Example: e62ac152-9f37-3db8-a3fa-c1775cf63383

Country Datatable

Example request:
curl --request POST \
    "http://localhost/api/v1/general/country/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/country/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/country/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/general/country/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Country

Example request:
curl --request POST \
    "http://localhost/api/v1/general/country" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"mollitia\",
    \"phonecode\": \"+62\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/general/country"
);

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

let body = {
    "name": "mollitia",
    "phonecode": "+62",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/country';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'mollitia',
            'phonecode' => '+62',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/general/country

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of country. Example: mollitia

phonecode   string     

the name of country. Example: +62

id   string  optional    

if need uuid for update name of country. Example: '********-****-****-****-************'

Remove Country

Example request:
curl --request POST \
    "http://localhost/api/v1/general/country/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"maiores\"
}"
const url = new URL(
    "http://localhost/api/v1/general/country/remove"
);

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

let body = {
    "id": "maiores"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/country/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'maiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Country",
    "data": []
}
 

Request   

POST api/v1/general/country/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Country Example: maiores

General Currency

Currency Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/general/currency/details/f49d5547-f80e-33e6-930b-656ba8be4d70" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/currency/details/f49d5547-f80e-33e6-930b-656ba8be4d70"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/currency/details/f49d5547-f80e-33e6-930b-656ba8be4d70';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Currency Detail",
    "data": {
        "id": "3a80ca6a-d642-4bc2-8d1e-652bf99b4ad9",
        "name": "Euro",
        "code": "EUR",
        "symbol": "€",
        "country": {
            "id": "8f42c620-ab87-440a-b146-dd4d477a4ac5",
            "name": "Andorra"
        }
    }
}
 

Request   

GET api/v1/general/currency/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Currency. Example: f49d5547-f80e-33e6-930b-656ba8be4d70

Get Datatables Currency

Example request:
curl --request POST \
    "http://localhost/api/v1/general/currency/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/currency/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/currency/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 217,
    "recordsFiltered": 217,
    "data": [
        {
            "id": "d2cb66bd-8705-411d-9818-96795a7d971b",
            "name": "Afghan afghani",
            "code": "AFN",
            "symbol": "؋",
            "country_name": "Afghanistan"
        }
    ]
}
 

Request   

POST api/v1/general/currency/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Currency

Example request:
curl --request POST \
    "http://localhost/api/v1/general/currency" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"occaecati\",
    \"code\": \"dolorem\",
    \"symbol\": \"id\",
    \"country_id\": \"\'********-****-****-****-************\'\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/general/currency"
);

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

let body = {
    "name": "occaecati",
    "code": "dolorem",
    "symbol": "id",
    "country_id": "'********-****-****-****-************'",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/currency';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'occaecati',
            'code' => 'dolorem',
            'symbol' => 'id',
            'country_id' => '\'********-****-****-****-************\'',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Currency Detail",
    "data": {
        "id": "3a80ca6a-d642-4bc2-8d1e-652bf99b4ad9",
        "name": "Euro",
        "code": "EUR",
        "symbol": "€",
        "country": {
            "id": "8f42c620-ab87-440a-b146-dd4d477a4ac5",
            "name": "Andorra"
        }
    }
}
 

Request   

POST api/v1/general/currency

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of Currency. Example: occaecati

code   string     

the code of Currency. Example: dolorem

symbol   string     

the symbol of Currency. Example: id

country_id   string     

the uuid of country. Example: '********-****-****-****-************'

id   string  optional    

if need uuid for update name of region. Example: '********-****-****-****-************'

Remove Currency

Example request:
curl --request POST \
    "http://localhost/api/v1/general/currency/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/general/currency/remove"
);

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

let body = {
    "id": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/currency/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Currency",
    "data": []
}
 

Request   

POST api/v1/general/currency/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Currency Example: est

General Language

Language Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/general/languages/details/c06ef5f6-3479-30ae-bd84-21c3b0cbe7a6" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/languages/details/c06ef5f6-3479-30ae-bd84-21c3b0cbe7a6"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/languages/details/c06ef5f6-3479-30ae-bd84-21c3b0cbe7a6';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

GET api/v1/general/languages/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Language. Example: c06ef5f6-3479-30ae-bd84-21c3b0cbe7a6

Languages Datatables

Example request:
curl --request POST \
    "http://localhost/api/v1/general/languages/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/languages/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/languages/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/general/languages/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Region

Example request:
curl --request POST \
    "http://localhost/api/v1/general/languages" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"in\",
    \"id\": 12,
    \"remove\": \"true\"
}"
const url = new URL(
    "http://localhost/api/v1/general/languages"
);

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

let body = {
    "name": "in",
    "id": 12,
    "remove": "true"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/languages';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'in',
            'id' => 12,
            'remove' => 'true',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/general/languages

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of Languages. Example: in

id   integer  optional    

if need id for update name of Languages. Example: 12

remove   bolean     

if want remove Languages. Example: true

Remove Language

Example request:
curl --request POST \
    "http://localhost/api/v1/general/languages/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/v1/general/languages/remove"
);

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

let body = {
    "id": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/languages/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Language",
    "data": []
}
 

Request   

POST api/v1/general/languages/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Language Example: consequatur

General Region

Regions Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/general/region/details/045511ca-44a3-3146-a12d-cddb10c68ce4" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/region/details/045511ca-44a3-3146-a12d-cddb10c68ce4"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/region/details/045511ca-44a3-3146-a12d-cddb10c68ce4';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{"message":"Success get Feature Detail","data":{"id":"e1679215-52d3-49b2-b369-09e1496f759a","name":"System Features","category"{"id":"796b8a28-e184-49e8-be8c-19fe898e0439","name":"System Setup"}}}
 

Request   

GET api/v1/general/region/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Regions. Example: 045511ca-44a3-3146-a12d-cddb10c68ce4

Regions Datatables

Example request:
curl --request POST \
    "http://localhost/api/v1/general/region/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/region/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/region/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/general/region/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Region

Example request:
curl --request POST \
    "http://localhost/api/v1/general/region" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"repudiandae\",
    \"country_id\": \"\'********-****-****-****-************\'\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/general/region"
);

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

let body = {
    "name": "repudiandae",
    "country_id": "'********-****-****-****-************'",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/region';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'repudiandae',
            'country_id' => '\'********-****-****-****-************\'',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Region update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/general/region

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of Region. Example: repudiandae

country_id   string     

the uuid of country. Example: '********-****-****-****-************'

id   string  optional    

if need uuid for update name of region. Example: '********-****-****-****-************'

Remove Region

Example request:
curl --request POST \
    "http://localhost/api/v1/general/region/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"soluta\"
}"
const url = new URL(
    "http://localhost/api/v1/general/region/remove"
);

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

let body = {
    "id": "soluta"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/region/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'soluta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Region",
    "data": []
}
 

Request   

POST api/v1/general/region/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Region Example: soluta

General Timezone

TimeZone Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/general/timezone/details/97ed8593-9285-38dd-9152-9cdf1658225a" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/timezone/details/97ed8593-9285-38dd-9152-9cdf1658225a"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/timezone/details/97ed8593-9285-38dd-9152-9cdf1658225a';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Time Zone Detail",
    "data": {
        "id": "6a8d3106-a22e-4f63-a81f-e2464c9a1461",
        "name": "Africa/Algiers"
    }
}
 

Request   

GET api/v1/general/timezone/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of TimeZone. Example: 97ed8593-9285-38dd-9152-9cdf1658225a

Get Datatables Timezone

Example request:
curl --request POST \
    "http://localhost/api/v1/general/timezone/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/general/timezone/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/timezone/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 425,
    "recordsFiltered": 425,
    "data": [
        {
            "id": "59af78ff-d35f-40e4-8220-ff67af5d07a3",
            "name": "Africa/Abidjan"
        },
        {
            "id": "f311336a-f1ee-4c7b-9e1e-7d6e61c67e41",
            "name": "Africa/Accra"
        }
    ]
}
 

Request   

POST api/v1/general/timezone/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Timezone

Example request:
curl --request POST \
    "http://localhost/api/v1/general/timezone" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"aspernatur\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/general/timezone"
);

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

let body = {
    "name": "aspernatur",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/timezone';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'aspernatur',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Time Zone Data",
    "data": {
        "id": "fdc4a74b-f837-40e2-bd2a-435c7603c7f3",
        "name": "Asia/banyuwangi"
    }
}
 

Request   

POST api/v1/general/timezone

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of Timezone. Example: aspernatur

id   string  optional    

if need uuid for update name of Timezone. Example: '********-****-****-****-************'

Remove Timezone

Example request:
curl --request POST \
    "http://localhost/api/v1/general/timezone/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"voluptatem\"
}"
const url = new URL(
    "http://localhost/api/v1/general/timezone/remove"
);

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

let body = {
    "id": "voluptatem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/general/timezone/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Timezone",
    "data": []
}
 

Request   

POST api/v1/general/timezone/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Country Example: voluptatem

Guest List Daily

Option Guest List Daily

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestdaily/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"mode\": \"show_by\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestdaily/dropdownoptionlist"
);

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

let body = {
    "property_id": "et",
    "mode": "show_by"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestdaily/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'mode' => 'show_by',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Type",
    "data": {
        "all": "All",
        "arival": "Arival",
        "in_house": "In House",
        "depature": "Depature"
    }
}
 

Request   

POST api/v1/property/guestdaily/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: et

mode   string  optional    

The language. Example: show_by

Must be one of:
  • list_type
  • show_by

Detail List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestdaily/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"est\",
    \"days\": \"quod\",
    \"list_type\": \"source_list.\",
    \"show_by\": \"room_type.\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestdaily/list"
);

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

let body = {
    "property_id": "est",
    "days": "quod",
    "list_type": "source_list.",
    "show_by": "room_type."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestdaily/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'est',
            'days' => 'quod',
            'list_type' => 'source_list.',
            'show_by' => 'room_type.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Daily Found",
    "data": {
        "in_house": [
            {
                "room_type_name": "Standard",
                "list": [
                    {
                        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
                        "booking_no": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "guest": {
                            "name": "Mr. Takayuki Nomoto",
                            "id": "2da48c55-2688-443f-99b3-47ab29616604"
                        },
                        "country": {
                            "name": "Japan",
                            "id": "72a89d6b-78a8-4db9-b66c-3a16af183567"
                        },
                        "room_type": {
                            "name": "Standard",
                            "id": "a880635a-810f-4f9b-b39a-3f49387ec7d5"
                        },
                        "room": {
                            "name": "101",
                            "id": "e7541067-7551-4905-b13a-e7f026a06a48"
                        },
                        "agent": {
                            "name": "Walk In",
                            "id": "e41961d9-620e-4290-9497-64ece423e82c"
                        },
                        "arival": "2024-09-17",
                        "depature": "2024-09-19",
                        "adult": 2,
                        "child": 2,
                        "special_request": null,
                        "remark": null
                    }
                ]
            }
        ]
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/guestdaily/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: est

days   string  optional    

date of date report date format Y-m-d. Example: quod

list_type   string  optional    

required. Example: source_list.

Must be one of:
  • all
  • arival
  • in_house
  • depature
show_by   string  optional    

required. Example: room_type.

Must be one of:
  • room_type
  • booking

Print List

Example request:
curl --request GET \
    --get "http://localhost/api/v1/property/guestdaily/list/print/minus" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"provident\",
    \"days\": \"quia\",
    \"list_type\": \"source_list.\",
    \"show_by\": \"room_type.\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestdaily/list/print/minus"
);

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

let body = {
    "property_id": "provident",
    "days": "quia",
    "list_type": "source_list.",
    "show_by": "room_type."
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestdaily/list/print/minus';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'provident',
            'days' => 'quia',
            'list_type' => 'source_list.',
            'show_by' => 'room_type.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Guest List Daily Found",
    "data": {
        "in_house": [
            {
                "room_type_name": "Standard",
                "list": [
                    {
                        "booking_id": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "booking_room_id": "7a35bc8f-1403-4d8a-9c05-7191ed8445e7",
                        "booking_no": "c75fe791-ec00-4687-9a7d-34734e8b38bd",
                        "guest": {
                            "name": "Mr. Takayuki Nomoto",
                            "id": "2da48c55-2688-443f-99b3-47ab29616604"
                        },
                        "country": {
                            "name": "Japan",
                            "id": "72a89d6b-78a8-4db9-b66c-3a16af183567"
                        },
                        "room_type": {
                            "name": "Standard",
                            "id": "a880635a-810f-4f9b-b39a-3f49387ec7d5"
                        },
                        "room": {
                            "name": "101",
                            "id": "e7541067-7551-4905-b13a-e7f026a06a48"
                        },
                        "agent": {
                            "name": "Walk In",
                            "id": "e41961d9-620e-4290-9497-64ece423e82c"
                        },
                        "arival": "2024-09-17",
                        "depature": "2024-09-19",
                        "adult": 2,
                        "child": 2,
                        "special_request": null,
                        "remark": null
                    }
                ]
            }
        ]
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

GET api/v1/property/guestdaily/list/print/{key}

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

URL Parameters

key   string     

Example: minus

Body Parameters

property_id   string     

uuid of Property. Example: provident

days   string  optional    

date of date report date format Y-m-d. Example: quia

list_type   string  optional    

required. Example: source_list.

Must be one of:
  • all
  • arival
  • in_house
  • depature
show_by   string  optional    

required. Example: room_type.

Must be one of:
  • room_type
  • booking

Master Property Groups

Property Groups Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/property-groups/details/b87b6244-9fe5-3a72-8186-ba56fe57576c" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property-groups/details/b87b6244-9fe5-3a72-8186-ba56fe57576c"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property-groups/details/b87b6244-9fe5-3a72-8186-ba56fe57576c';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Group Detail",
    "data": {
        "id": "c96fcd65-593a-4f6b-bc90-2f005f0e5652",
        "name": "Hotel Dummy Group"
    }
}
 

Request   

GET api/v1/master/property-groups/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property Groups. Example: b87b6244-9fe5-3a72-8186-ba56fe57576c

Miscellaneous Endpoint

Option Editor Input

Example request:
curl --request POST \
    "http://localhost/api/v1/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"parentcoa\"
}"
const url = new URL(
    "http://localhost/api/v1/dropdown/list"
);

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

let body = {
    "mode": "parentcoa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'parentcoa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: parentcoa

Must be one of:
  • property
  • property-group
  • country-name
  • region-name
  • area-name
  • currency
  • language
  • timezone
  • user-category
  • amenities-category

Nightautdit

Detail Data

Example request:
curl --request POST \
    "http://localhost/api/v1/property/nightaudit/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolores\"
}"
const url = new URL(
    "http://localhost/api/v1/property/nightaudit/detail"
);

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

let body = {
    "property_id": "dolores"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/nightaudit/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get Room Rate Detail",
    "data": {
        "option": {
            "tax_and_service_list": [
                {
                    "label": "Room Rate Tax 11 and Service 10",
                    "key": "5d80d7db-f029-44b8-9864-44f3607e2417"
                }
            ],
            "rate_plan_list": [
                {
                    "key": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "label": "Room And Breakfast Rate",
                    "start_date": "2024-08-03",
                    "end_date": "2024-08-03",
                    "min_night": 1,
                    "max_night": 1,
                    "max_adult": 2,
                    "max_pax": 4,
                    "room_rate": 100000,
                    "extra_adult_rate": 0,
                    "extra_child_rate": 0,
                    "rate_plan_type": {
                        "id": "2ec584a2-18a8-46ec-ac5a-51597eae3055",
                        "name": "STANDAR"
                    },
                    "tax_and_service": {
                        "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                        "name": "Room Rate Tax 11 and Service 10"
                    },
                    "currency": {
                        "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                        "name": "Indonesian rupiah",
                        "code": "IDR",
                        "symbol": "Rp"
                    }
                }
            ]
        },
        "detail": {
            "booking_id": "20116992-4e7d-46d6-8688-3bda65b5b782",
            "booking_room_id": "8b8f158b-263e-4244-a9d3-444b65dbe512",
            "room_type_id": "a880635a-810f-4f9b-b39a-3f49387ec7d5",
            "room_id": "e7541067-7551-4905-b13a-e7f026a06a48",
            "arival": "2024-09-23",
            "depature": "2024-09-26",
            "rate_plan_default": {
                "id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                "name": "Room And Breakfast Rate"
            },
            "tax_and_service_default": {
                "id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                "name": "Room Rate Tax 11 and Service 10"
            },
            "rate_list": [
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-23",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-24",
                    "rate": 200000
                },
                {
                    "rate_plan_id": "97b6b6fa-f6d0-4d96-9ad2-86561c59b673",
                    "tax_and_service_id": "5d80d7db-f029-44b8-9864-44f3607e2417",
                    "rate_date": "2024-09-25",
                    "rate": 200000
                }
            ],
            "total_amount": 485995.07999999996,
            "total_service": 54545.46,
            "total_tax": 59459.46,
            "total_rate": 0,
            "currency": {
                "id": "75dd1475-858b-46b4-9d17-80b9d0640057",
                "name": "Indonesian rupiah",
                "code": "IDR",
                "symbol": "Rp"
            }
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/nightaudit/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: dolores

Process Nightautdit

Example request:
curl --request POST \
    "http://localhost/api/v1/property/nightaudit/process" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"cupiditate\",
    \"nightaudit_process_date\": \"nulla\",
    \"ignore_bill_outstanding\": \"veniam\"
}"
const url = new URL(
    "http://localhost/api/v1/property/nightaudit/process"
);

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

let body = {
    "property_id": "cupiditate",
    "nightaudit_process_date": "nulla",
    "ignore_bill_outstanding": "veniam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/nightaudit/process';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'cupiditate',
            'nightaudit_process_date' => 'nulla',
            'ignore_bill_outstanding' => 'veniam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Payment Option",
    "data": {
        "id": "d7b69ca5-9ee5-4edd-b3ec-0b7e9877cf1a",
        "name": "Cash"
    }
}
 

Request   

POST api/v1/property/nightaudit/process

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of booking Example: cupiditate

nightaudit_process_date   string  optional    

add this value nightaudit date will process with format date Y-m-d. Exmp:2024-02-18 Example: nulla

ignore_bill_outstanding   bolean  optional    

this value set if you want ignore outstanding bill Example: veniam

Payment Collect Type Setup

Payment Collect Type Details

Example request:
curl --request POST \
    "http://localhost/api/v1/master/payment-collect-type/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"payment_collect_type_id\": \"autem\"
}"
const url = new URL(
    "http://localhost/api/v1/master/payment-collect-type/detail"
);

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

let body = {
    "payment_collect_type_id": "autem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/payment-collect-type/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'payment_collect_type_id' => 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Payment Collect Type detail",
    "data": {
        "id": "4ec7d72b-34c7-4390-9e78-71e0136221c8",
        "name": "Hotel Collect",
        "name_slug": "hotel-collect",
        "is_permanent": true
    }
}
 

Request   

POST api/v1/master/payment-collect-type/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

payment_collect_type_id   string     

uuid of Bill Type Example: autem

Datatables Payment Collect Type

Example request:
curl --request POST \
    "http://localhost/api/v1/master/payment-collect-type/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/payment-collect-type/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/payment-collect-type/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 4,
    "recordsFiltered": 4,
    "data": [
        {
            "id": "4ec7d72b-34c7-4390-9e78-71e0136221c8",
            "name": "Hotel Collect",
            "name_slug": "hotel-collect",
            "is_permanent": "Yes"
        },
        {
            "id": "9afb548f-77a9-4ad6-b528-651dfe856c6f",
            "name": "Channel Collect",
            "name_slug": "channel-collect",
            "is_permanent": "Yes"
        },
        {
            "id": "b89389e9-b007-437c-a45f-d24bdefa1276",
            "name": "Agent Collect",
            "name_slug": "agent-collect",
            "is_permanent": "Yes"
        },
        {
            "id": "273472fb-f27c-4b2a-8cf0-5d147946c2ff",
            "name": "Guest Collect",
            "name_slug": "guest-collect",
            "is_permanent": "Yes"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"payment_collect_types\" where \"payment_collect_types\".\"deleted_at\" is null",
            "bindings": [],
            "time": 1.13
        },
        {
            "query": "select * from \"payment_collect_types\" where \"payment_collect_types\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.2
        }
    ],
    "input": {
        "payment_collect_type_id": "4ec7d72b-34c7-4390-9e78-71e0136221c8"
    }
}
 

Request   

POST api/v1/master/payment-collect-type/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Payment Collect Type

Example request:
curl --request POST \
    "http://localhost/api/v1/master/payment-collect-type" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"est\",
    \"name\": \"quia\",
    \"is_permanent\": \"ad\"
}"
const url = new URL(
    "http://localhost/api/v1/master/payment-collect-type"
);

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

let body = {
    "id": "est",
    "name": "quia",
    "is_permanent": "ad"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/payment-collect-type';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'est',
            'name' => 'quia',
            'is_permanent' => 'ad',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room type",
    "data": {
        "id": "3696cda0-035d-4827-a406-c14e6fcdf264",
        "name": "Room Type baru",
        "description": "Room Type Baru Description",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
        "amenities": [
            {
                "category_id": "37b32a73-0c29-4d5a-80bd-1717901d015e",
                "category_name": "Room Amenities",
                "amenities_list": [
                    {
                        "id": "78e7914b-21b5-4bdd-b461-2d3cd72b8f67",
                        "name": "Adapter",
                        "is_select": false
                    },
                    {
                        "id": "05300f15-884d-409e-a396-536929d3cbcf",
                        "name": "Air conditioning",
                        "is_select": true
                    },
                    {
                        "id": "a7d9dedc-cf0b-4d68-9a48-37e14461fdf4",
                        "name": "Air conditioning single room",
                        "is_select": false
                    },
                    {
                        "id": "fd1f09c8-0aca-4f66-b071-cc030a76b36b",
                        "name": "Balcony",
                        "is_select": true
                    },
                    {
                        "id": "dba356b4-5d41-4546-84cf-b08f6585f457",
                        "name": "Bathtub",
                        "is_select": false
                    },
                    {
                        "id": "252b28a2-6add-4a37-85c5-d22598b5e2a1",
                        "name": "Carpeted",
                        "is_select": false
                    },
                    {
                        "id": "f214eca9-262c-4307-979d-3e4bd8de39b4",
                        "name": "Childrens cribs",
                        "is_select": true
                    },
                    {
                        "id": "dc05d273-baec-48b0-acdf-559c39a35f61",
                        "name": "Cleaning products",
                        "is_select": false
                    },
                    {
                        "id": "404dd22a-26e0-4931-b3b2-99333f1e968e",
                        "name": "Clothes rack",
                        "is_select": false
                    },
                    {
                        "id": "3c23f5bb-59ee-4f48-b88a-be1d94681df6",
                        "name": "Desk",
                        "is_select": false
                    },
                    {
                        "id": "bc0c5784-2809-4904-b4e0-bab8b9e1e3d0",
                        "name": "Dryer",
                        "is_select": true
                    },
                    {
                        "id": "99fedee9-ecef-4875-81ce-2a4b9f16cd0a",
                        "name": "Drying rack for clothing",
                        "is_select": false
                    },
                    {
                        "id": "7a8eee4a-155a-4214-b105-68705f2e381b",
                        "name": "Electric blankets",
                        "is_select": false
                    },
                    {
                        "id": "b7757b5e-fa8e-465b-8c3e-f481ed0aba66",
                        "name": "Electric kettle",
                        "is_select": false
                    },
                    {
                        "id": "ce91b7d8-afa1-466d-bfd2-cbc01d107aa8",
                        "name": "Extra long beds (> 6.5 ft)",
                        "is_select": false
                    },
                    {
                        "id": "d0de7cd0-bf27-416f-9317-d65ede231d2f",
                        "name": "Fan",
                        "is_select": false
                    },
                    {
                        "id": "ef8e700d-34cd-46f3-ad83-e40192ff2a8f",
                        "name": "Feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "68d1483f-999a-4155-b2e4-86e0edf8c3ab",
                        "name": "Fireplace",
                        "is_select": false
                    },
                    {
                        "id": "9c1b1920-b3c0-4ce6-8e76-e9a41ceb3b28",
                        "name": "Flat-screen TV",
                        "is_select": false
                    },
                    {
                        "id": "206d34a2-716d-4f08-8895-b18a152c5c5c",
                        "name": "Fold-up bed",
                        "is_select": false
                    },
                    {
                        "id": "feb09933-4210-4e53-a083-60e0ff5f2076",
                        "name": "Hardwood or parquet floors",
                        "is_select": false
                    },
                    {
                        "id": "2d83428c-67f0-424c-b3cf-7b64c7bbde4d",
                        "name": "Heated pool",
                        "is_select": false
                    },
                    {
                        "id": "0e457b6c-27f9-4170-9174-ddcc4a44dbbc",
                        "name": "Heating",
                        "is_select": false
                    },
                    {
                        "id": "a91728b8-4c62-4644-bfc3-8673cdd06c5e",
                        "name": "Hot tub",
                        "is_select": false
                    },
                    {
                        "id": "96fc900e-041f-454c-9aae-45dd06b9a142",
                        "name": "Hypoallergenic",
                        "is_select": false
                    },
                    {
                        "id": "daeea86a-79c0-45b8-81a7-e76333134b3d",
                        "name": "Hypoallergenic pillow",
                        "is_select": false
                    },
                    {
                        "id": "9f577ec2-34e9-4d5c-87df-868bb8ffae4d",
                        "name": "Infinity Pool",
                        "is_select": false
                    },
                    {
                        "id": "0897bc60-47b1-46dd-a822-2bcaeb07d8e8",
                        "name": "Interconnecting rooms",
                        "is_select": false
                    },
                    {
                        "id": "a662f19e-419c-41a9-a0a0-b0c2f00f24dd",
                        "name": "Iron",
                        "is_select": false
                    },
                    {
                        "id": "46a2ee4a-c711-4dd2-a99d-ce6c6ebf3a31",
                        "name": "Ironing facilities",
                        "is_select": false
                    },
                    {
                        "id": "6107ec89-e45a-43f5-ac25-598f20535951",
                        "name": "Mosquito net",
                        "is_select": false
                    },
                    {
                        "id": "1818a164-cfd0-435a-8398-f7ddc11401f4",
                        "name": "Non-feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "1ca6771c-37ae-4ff6-84d0-4277f27365b0",
                        "name": "Pajamas",
                        "is_select": false
                    },
                    {
                        "id": "3e611ae2-edf5-4473-ae7b-c6ab2d6ce946",
                        "name": "Plunge Pool",
                        "is_select": false
                    },
                    {
                        "id": "a13e0b46-0d5e-4503-bc11-af25b568609a",
                        "name": "Pool cover",
                        "is_select": false
                    },
                    {
                        "id": "86854195-b984-415f-925e-bee9172388dc",
                        "name": "Pool towels",
                        "is_select": false
                    },
                    {
                        "id": "b5687b9d-65b2-4d1a-aa22-b2ef72a26685",
                        "name": "Pool with a view",
                        "is_select": false
                    },
                    {
                        "id": "bc8c3d71-115f-45ff-8d98-6d6c7c1ad6b7",
                        "name": "Private pool",
                        "is_select": false
                    },
                    {
                        "id": "7ba1a081-d56b-4608-9d2e-1110fa4cd601",
                        "name": "Rooftop pool",
                        "is_select": false
                    },
                    {
                        "id": "b808b875-492d-458d-a6bc-720372622767",
                        "name": "Safe",
                        "is_select": false
                    },
                    {
                        "id": "d990b235-5121-4b63-ad8c-5ee1721196b4",
                        "name": "Saltwater pool",
                        "is_select": false
                    },
                    {
                        "id": "b38466d0-9e59-4736-8204-0b01d379faa0",
                        "name": "Shallow end",
                        "is_select": false
                    },
                    {
                        "id": "bc33df3d-9f0f-425b-a0df-46ab53e7aa83",
                        "name": "Sitting area",
                        "is_select": false
                    },
                    {
                        "id": "441d79fb-82a4-458a-8bd2-8f91f40f5e2b",
                        "name": "Socket near the bed",
                        "is_select": false
                    },
                    {
                        "id": "30d5b8ec-8f2e-4fc6-899a-5714a9d7be63",
                        "name": "Sofa",
                        "is_select": false
                    },
                    {
                        "id": "06b027ce-138e-4f61-bc25-10165e24cbfd",
                        "name": "Sofa bed",
                        "is_select": false
                    },
                    {
                        "id": "f2d7c256-4b44-48bf-a2a0-04917f773784",
                        "name": "Soundproof",
                        "is_select": false
                    },
                    {
                        "id": "f39be007-f9d0-413a-9434-335578838ac8",
                        "name": "Suit press",
                        "is_select": false
                    },
                    {
                        "id": "892e321b-5422-48d7-8c1d-950486a1ea57",
                        "name": "Tile/Marble floor",
                        "is_select": false
                    },
                    {
                        "id": "7bdbc02c-4cf0-487a-9faa-bbe25447795a",
                        "name": "Toilet paper",
                        "is_select": false
                    },
                    {
                        "id": "5f84000a-c63d-4234-93c7-dcf36434b1ff",
                        "name": "Towels",
                        "is_select": false
                    },
                    {
                        "id": "b8937943-2b2c-4818-8943-cea8f0754fe6",
                        "name": "Trash cans",
                        "is_select": false
                    },
                    {
                        "id": "26ad03ba-c55c-489a-a550-92f19982df53",
                        "name": "View",
                        "is_select": false
                    },
                    {
                        "id": "ec55c805-84d8-4457-b5b8-fec22adf8ec6",
                        "name": "Walk-in closet",
                        "is_select": false
                    },
                    {
                        "id": "8d560293-82fd-4135-99df-761aa540dbb7",
                        "name": "Wardrobe or closet",
                        "is_select": false
                    },
                    {
                        "id": "b0d7bf28-75d2-4f0a-8ad9-baabe2e50608",
                        "name": "Washing machine",
                        "is_select": false
                    },
                    {
                        "id": "17d5df9c-0bb9-4390-8177-9dc05b0ea92c",
                        "name": "Yukata",
                        "is_select": false
                    },
                    {
                        "id": "336a2aa5-fb92-432e-9d15-496f0638fd60",
                        "name": "Air purifiers",
                        "is_select": false
                    },
                    {
                        "id": "f822da69-c6d3-439d-aab2-58c28e09dc39",
                        "name": "Hand sanitizer",
                        "is_select": false
                    },
                    {
                        "id": "932710b6-8c27-4184-b3b3-7df86e2fb36f",
                        "name": "Bolsters",
                        "is_select": false
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/master/payment-collect-type

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Payment Collect Type id please not set param if you want create new Payment Collect Type Example: est

name   string     

Name of Payment Collect Type Example: quia

is_permanent   bolean     

set true if Payment Collect Type permanent can't update or edit Example: ad

Remove Payment Collect Type

Example request:
curl --request POST \
    "http://localhost/api/v1/master/payment-collect-type/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"deserunt\"
}"
const url = new URL(
    "http://localhost/api/v1/master/payment-collect-type/remove"
);

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

let body = {
    "id": "deserunt"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/payment-collect-type/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'deserunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Room Type",
    "data": []
}
 

Request   

POST api/v1/master/payment-collect-type/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Bill Type Example: deserunt

Payment Recive List

Detail List

Example request:
curl --request POST \
    "http://localhost/api/v1/property/paymentreceive/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"totam\",
    \"start_date\": \"est\",
    \"end_date\": \"dolorem\",
    \"payment_option_id\": \"ab\",
    \"created_by_id\": \"animi\"
}"
const url = new URL(
    "http://localhost/api/v1/property/paymentreceive/list"
);

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

let body = {
    "property_id": "totam",
    "start_date": "est",
    "end_date": "dolorem",
    "payment_option_id": "ab",
    "created_by_id": "animi"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/paymentreceive/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'totam',
            'start_date' => 'est',
            'end_date' => 'dolorem',
            'payment_option_id' => 'ab',
            'created_by_id' => 'animi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Payment Receive List Found",
    "data": {
        "currency": {
            "name": "Indonesian rupiah",
            "code": "IDR",
            "symbol": "Rp"
        },
        "list": [
            {
                "payment_id": "e0de0fbd-e21c-4c0c-bb5b-da270a799270",
                "booking_id": "1ac58f56-1d2b-4020-8e3f-e7bba4c087a4",
                "booking_no": "20241107/HOTELDUMMY/0000000001",
                "booking_room_id": "b010c436-0833-43ca-857f-0ef395f9832a",
                "room_type": {
                    "id": "7736ad22-7de4-428d-8a8b-092e4cf87464",
                    "name": "Standard"
                },
                "room": {
                    "id": "f7876405-f036-4a9b-84ab-35689f2b9581",
                    "name": "101"
                },
                "guest": {
                    "id": "5f86d74d-89e3-454e-b541-fa4c87f540f7",
                    "name": "Mr. Agus Bawa I Nyoman"
                },
                "payment_date": "2024-11-08 10:38:23",
                "amount": 100000,
                "remark": "-",
                "payment_option": {
                    "id": "bcd4e196-88da-4e24-a5fa-ec94c6666b31",
                    "name": "Cash"
                },
                "coa": {
                    "id": "f9cd7c38-f694-4f5e-8a8a-b9ca92ded38c",
                    "code": "110-10-004",
                    "name": "House Bank Front Money Changer"
                },
                "payment_method_list": {
                    "list": [
                        {
                            "payment_option": {
                                "id": "bcd4e196-88da-4e24-a5fa-ec94c6666b31",
                                "name": "Cash"
                            },
                            "payment_option_methods": {
                                "id": "8fa223d1-0864-49c4-804a-84311468da6a",
                                "name": "Front Office Cash Clearance"
                            },
                            "coa": {
                                "id": "c59a97c4-ccbf-4a82-9eef-edbb89065280",
                                "code": "110-30-001",
                                "name": "F/O Cash Clearance"
                            },
                            "amount": 100000
                        }
                    ],
                    "total_amount": 100000
                },
                "bill_list": [
                    {
                        "bill_id": "1e4da49d-ee53-45cb-b87e-7e16dafb7094",
                        "bill_type": {
                            "id": "ede0a0bc-f1f9-489e-bb87-cd305ffdd0cb",
                            "name": "Room Charge"
                        },
                        "rate_plan": {
                            "id": "f196d387-9527-485c-8fc2-467e3fbfe289",
                            "name": "Room And Breakfast Rate"
                        },
                        "tax_and_service": {
                            "id": "a55185c0-de35-496f-b47e-5798b02bbbff",
                            "calculation_type": "INCLUDE",
                            "name": "Room Rate Tax 11 and Service 10",
                            "tax_percent": "11",
                            "service_percent": "10"
                        },
                        "bill_date": "2024-11-07",
                        "amount": 80999.18,
                        "tax_amount": 9909.91,
                        "service_amount": 9090.91,
                        "total": 100000
                    }
                ],
                "created_by": "Master User Api",
                "updated_by": null
            }
        ],
        "summary": {
            "total": 100000,
            "payment_option": [
                {
                    "name": "Cash - Front Office Cash Clearance",
                    "qty": 1,
                    "amount": 100000
                }
            ],
            "payment_option_total": 100000,
            "payment_option_total_qty": 1
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/paymentreceive/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: totam

start_date   string  optional    

start date of date receive payment date format Y-m-d. Example: est

end_date   string  optional    

end date of date receive payment date format Y-m-d. Example: dolorem

payment_option_id   string     

uuid of payment_option add this parameter if want for spesification method. Example: ab

created_by_id   string     

uuid of user add this parameter if want for payment created by. Example: animi

Option Payment Receive

Example request:
curl --request POST \
    "http://localhost/api/v1/property/paymentreceive/dropdownoptionlist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"est\",
    \"mode\": \"roomavailable\"
}"
const url = new URL(
    "http://localhost/api/v1/property/paymentreceive/dropdownoptionlist"
);

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

let body = {
    "property_id": "est",
    "mode": "roomavailable"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/paymentreceive/dropdownoptionlist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'est',
            'mode' => 'roomavailable',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List user Created",
    "data": [
        {
            "key": "0ad093e6-3587-4257-a118-0d6265d3347c",
            "label": "Master User Api"
        }
    ]
}
 

Request   

POST api/v1/property/paymentreceive/dropdownoptionlist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: est

mode   string  optional    

The language. Example: roomavailable

Must be one of:
  • payment_option
  • user_receive

Property Agent

Update Agent Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/agent" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: multipart/form-data" \
    --form "id=et"\
    --form "property_id=consequatur"\
    --form "agent_source_id=ut"\
    --form "name=ratione"\
    --form "address=dignissimos"\
    --form "phone=voluptatem"\
    --form "[email protected]"\
    --form "website=et"\
    --form "bg_color=vitae"\
    --form "fg_color=accusamus"\
    --form "logo_path=@C:\Users\agusb\AppData\Local\Temp\phpA7C5.tmp" \
    --form "icon_path=@C:\Users\agusb\AppData\Local\Temp\phpA7C6.tmp" 
const url = new URL(
    "http://localhost/api/v1/property/agent"
);

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

const body = new FormData();
body.append('id', 'et');
body.append('property_id', 'consequatur');
body.append('agent_source_id', 'ut');
body.append('name', 'ratione');
body.append('address', 'dignissimos');
body.append('phone', 'voluptatem');
body.append('email', '[email protected]');
body.append('website', 'et');
body.append('bg_color', 'vitae');
body.append('fg_color', 'accusamus');
body.append('logo_path', document.querySelector('input[name="logo_path"]').files[0]);
body.append('icon_path', document.querySelector('input[name="icon_path"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/agent';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'multipart/form-data',
        ],
        'multipart' => [
            [
                'name' => 'id',
                'contents' => 'et'
            ],
            [
                'name' => 'property_id',
                'contents' => 'consequatur'
            ],
            [
                'name' => 'agent_source_id',
                'contents' => 'ut'
            ],
            [
                'name' => 'name',
                'contents' => 'ratione'
            ],
            [
                'name' => 'address',
                'contents' => 'dignissimos'
            ],
            [
                'name' => 'phone',
                'contents' => 'voluptatem'
            ],
            [
                'name' => 'email',
                'contents' => '[email protected]'
            ],
            [
                'name' => 'website',
                'contents' => 'et'
            ],
            [
                'name' => 'bg_color',
                'contents' => 'vitae'
            ],
            [
                'name' => 'fg_color',
                'contents' => 'accusamus'
            ],
            [
                'name' => 'logo_path',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpA7C5.tmp', 'r')
            ],
            [
                'name' => 'icon_path',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpA7C6.tmp', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/property/agent

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: multipart/form-data

Body Parameters

id   string     

uuid of Property agent Example: et

property_id   string     

uuid of Property Example: consequatur

agent_source_id   string     

uuid of Property Example: ut

name   string     

Name of Agent Example: ratione

address   string  optional    

Address of Agent Example: dignissimos

phone   string  optional    

Phone of Agent Example: voluptatem

email   string  optional    

E-mail of Agent Example: [email protected]

website   string  optional    

website of Agent Example: et

logo_path   file  optional    

logo dimension must width 1350 x height 750 Example: C:\Users\agusb\AppData\Local\Temp\phpA7C5.tmp

icon_path   file  optional    

icon dimension ratio 1/1 Example: C:\Users\agusb\AppData\Local\Temp\phpA7C6.tmp

bg_color   string  optional    

position on hex color text of Room Status Example: vitae

fg_color   string  optional    

position on hex color text of Room Status Example: accusamus

Detail Agent property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/agent/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"vel\",
    \"agent_id\": \"ducimus\"
}"
const url = new URL(
    "http://localhost/api/v1/property/agent/detail"
);

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

let body = {
    "property_id": "vel",
    "agent_id": "ducimus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/agent/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'vel',
            'agent_id' => 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/property/agent/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: vel

agent_id   string     

uuid of Property Agent Example: ducimus

Datatables Agent Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/agent/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolorem\"
}"
const url = new URL(
    "http://localhost/api/v1/property/agent/datatables"
);

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

let body = {
    "property_id": "dolorem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/agent/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/property/agent/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: dolorem

Remove Agent Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/agent/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"adipisci\"
}"
const url = new URL(
    "http://localhost/api/v1/property/agent/remove"
);

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

let body = {
    "id": "adipisci"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/agent/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'adipisci',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Property Agent",
    "data": []
}
 

Request   

POST api/v1/property/agent/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Agent Property Example: adipisci

Option Agent Input

Example request:
curl --request POST \
    "http://localhost/api/v1/property/agent/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"autem\",
    \"mode\": \"source_list\"
}"
const url = new URL(
    "http://localhost/api/v1/property/agent/dropdown/list"
);

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

let body = {
    "property_id": "autem",
    "mode": "source_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/agent/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'autem',
            'mode' => 'source_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/property/agent/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: autem

mode   string  optional    

The language. Example: source_list

Must be one of:
  • source_list

Property Default Coa Mapping

List Default Coa Mapping

Example request:
curl --request POST \
    "http://localhost/api/v1/property/defaultcoamaping/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"totam\"
}"
const url = new URL(
    "http://localhost/api/v1/property/defaultcoamaping/list"
);

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

let body = {
    "property_id": "totam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/defaultcoamaping/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get list Coa",
    "data": {
        "id": "151f85bf-cb51-4aab-985c-8d451dcd901c",
        "name": "Room Rate Tax 11 and Service 10",
        "tax": "11",
        "service": "10",
        "use_service": true,
        "tax_coa": {
            "id": "563770be-ecf2-4f77-a717-46fcb69e90e9",
            "name": "220-00-060 | Recontruction Tax - PB 1"
        },
        "service_coa": {
            "id": "639fdb54-d802-442b-a19e-3bd5af5507ea",
            "name": "250-00-010 | A/P - Service Charge"
        }
    }
}
 

Request   

POST api/v1/property/defaultcoamaping/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: totam

Option Input Default Coa Mapping

Example request:
curl --request POST \
    "http://localhost/api/v1/property/defaultcoamaping/dropdown" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"similique\",
    \"mode\": \"coa_list\",
    \"coa_search\": \"delectus\"
}"
const url = new URL(
    "http://localhost/api/v1/property/defaultcoamaping/dropdown"
);

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

let body = {
    "property_id": "similique",
    "mode": "coa_list",
    "coa_search": "delectus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/defaultcoamaping/dropdown';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'similique',
            'mode' => 'coa_list',
            'coa_search' => 'delectus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Caclculation Type Founds",
    "data": [
        {
            "key": "INCLUDE",
            "label": "Include on Rate"
        },
        {
            "key": "EXCLUDE",
            "label": "Exclude on Rate"
        }
    ]
}
 

Request   

POST api/v1/property/defaultcoamaping/dropdown

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: similique

mode   string  optional    

The language. Example: coa_list

Must be one of:
  • coa_list
coa_search   string  optional    

name of Chart Account Example: delectus

Update Default Coa Mapping

Example request:
curl --request POST \
    "http://localhost/api/v1/property/defaultcoamaping" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"sed\",
    \"property_products\": [
        {
            \"id\": \"a1ba606b-4310-47f8-b94b-fd24a6049ea9\",
            \"name\": \"Room Charges\",
            \"sell_coa\": {
                \"id\": null,
                \"name\": null
            },
            \"cost_coa\": {
                \"id\": null,
                \"name\": null
            }
        }
    ],
    \"tax_and_services\": [
        {
            \"id\": \"99f5c5f5-4bdd-449f-950c-15ec32322a7d\",
            \"name\": \"Room Rate Tax 11 and Service 10\",
            \"tax_coa\": {
                \"id\": \"b6dd834c-1943-4996-89fe-fe98bd236ea4\",
                \"name\": \"220-00-060 | Recontruction Tax - PB 1\"
            },
            \"service_coa\": {
                \"id\": \"d928815a-2d1e-460d-af3d-4876edaa0fca\",
                \"name\": \"250-00-010 | A\\/P - Service Charge\"
            }
        }
    ],
    \"payment_options\": [
        {
            \"id\": \"fe3c8133-fb8b-4af2-8ac8-d74669daa7c1\",
            \"name\": \"Cash\",
            \"coa\": {
                \"id\": \"3427bc54-e123-4b13-84fb-3b05952bdb40\",
                \"name\": \"110-10-020 | Cash In Transit\"
            },
            \"payment_option_methods\": [
                {
                    \"id\": \"51a8722c-3e73-4dd3-99b9-67c842f53940\",
                    \"name\": \"Front Office Cash Clearance\",
                    \"coa\": {
                        \"id\": \"379d278f-df9a-4ac3-940e-9d889fa5f160\",
                        \"name\": \"110-30-001 | F\\/O Cash Clearance\"
                    }
                },
                {
                    \"id\": \"9e0b1d18-ed6f-440c-8ccc-735a203e03fb\",
                    \"name\": \"Outlet Cash Clearance\",
                    \"coa\": {
                        \"id\": \"7c477ddf-3247-4e9f-8b23-71bc35c5c6ff\",
                        \"name\": \"110-30-002 | Outlet Cash Clearance\"
                    }
                }
            ]
        }
    ],
    \"discount_options\": [
        {
            \"id\": \"7d2d649a-ddfd-4058-b9a2-f1d086d80b0b\",
            \"title\": \"Test Discount data\",
            \"coa\": {
                \"id\": \"f2a27621-3161-4bf2-ba7f-c19f58fe08c3\",
                \"name\": \"00001-01 | test Booking Discount\"
            }
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/property/defaultcoamaping"
);

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

let body = {
    "property_id": "sed",
    "property_products": [
        {
            "id": "a1ba606b-4310-47f8-b94b-fd24a6049ea9",
            "name": "Room Charges",
            "sell_coa": {
                "id": null,
                "name": null
            },
            "cost_coa": {
                "id": null,
                "name": null
            }
        }
    ],
    "tax_and_services": [
        {
            "id": "99f5c5f5-4bdd-449f-950c-15ec32322a7d",
            "name": "Room Rate Tax 11 and Service 10",
            "tax_coa": {
                "id": "b6dd834c-1943-4996-89fe-fe98bd236ea4",
                "name": "220-00-060 | Recontruction Tax - PB 1"
            },
            "service_coa": {
                "id": "d928815a-2d1e-460d-af3d-4876edaa0fca",
                "name": "250-00-010 | A\/P - Service Charge"
            }
        }
    ],
    "payment_options": [
        {
            "id": "fe3c8133-fb8b-4af2-8ac8-d74669daa7c1",
            "name": "Cash",
            "coa": {
                "id": "3427bc54-e123-4b13-84fb-3b05952bdb40",
                "name": "110-10-020 | Cash In Transit"
            },
            "payment_option_methods": [
                {
                    "id": "51a8722c-3e73-4dd3-99b9-67c842f53940",
                    "name": "Front Office Cash Clearance",
                    "coa": {
                        "id": "379d278f-df9a-4ac3-940e-9d889fa5f160",
                        "name": "110-30-001 | F\/O Cash Clearance"
                    }
                },
                {
                    "id": "9e0b1d18-ed6f-440c-8ccc-735a203e03fb",
                    "name": "Outlet Cash Clearance",
                    "coa": {
                        "id": "7c477ddf-3247-4e9f-8b23-71bc35c5c6ff",
                        "name": "110-30-002 | Outlet Cash Clearance"
                    }
                }
            ]
        }
    ],
    "discount_options": [
        {
            "id": "7d2d649a-ddfd-4058-b9a2-f1d086d80b0b",
            "title": "Test Discount data",
            "coa": {
                "id": "f2a27621-3161-4bf2-ba7f-c19f58fe08c3",
                "name": "00001-01 | test Booking Discount"
            }
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/defaultcoamaping';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'sed',
            'property_products' => [
                [
                    'id' => 'a1ba606b-4310-47f8-b94b-fd24a6049ea9',
                    'name' => 'Room Charges',
                    'sell_coa' => [
                        'id' => null,
                        'name' => null,
                    ],
                    'cost_coa' => [
                        'id' => null,
                        'name' => null,
                    ],
                ],
            ],
            'tax_and_services' => [
                [
                    'id' => '99f5c5f5-4bdd-449f-950c-15ec32322a7d',
                    'name' => 'Room Rate Tax 11 and Service 10',
                    'tax_coa' => [
                        'id' => 'b6dd834c-1943-4996-89fe-fe98bd236ea4',
                        'name' => '220-00-060 | Recontruction Tax - PB 1',
                    ],
                    'service_coa' => [
                        'id' => 'd928815a-2d1e-460d-af3d-4876edaa0fca',
                        'name' => '250-00-010 | A/P - Service Charge',
                    ],
                ],
            ],
            'payment_options' => [
                [
                    'id' => 'fe3c8133-fb8b-4af2-8ac8-d74669daa7c1',
                    'name' => 'Cash',
                    'coa' => [
                        'id' => '3427bc54-e123-4b13-84fb-3b05952bdb40',
                        'name' => '110-10-020 | Cash In Transit',
                    ],
                    'payment_option_methods' => [
                        [
                            'id' => '51a8722c-3e73-4dd3-99b9-67c842f53940',
                            'name' => 'Front Office Cash Clearance',
                            'coa' => [
                                'id' => '379d278f-df9a-4ac3-940e-9d889fa5f160',
                                'name' => '110-30-001 | F/O Cash Clearance',
                            ],
                        ],
                        [
                            'id' => '9e0b1d18-ed6f-440c-8ccc-735a203e03fb',
                            'name' => 'Outlet Cash Clearance',
                            'coa' => [
                                'id' => '7c477ddf-3247-4e9f-8b23-71bc35c5c6ff',
                                'name' => '110-30-002 | Outlet Cash Clearance',
                            ],
                        ],
                    ],
                ],
            ],
            'discount_options' => [
                [
                    'id' => '7d2d649a-ddfd-4058-b9a2-f1d086d80b0b',
                    'title' => 'Test Discount data',
                    'coa' => [
                        'id' => 'f2a27621-3161-4bf2-ba7f-c19f58fe08c3',
                        'name' => '00001-01 | test Booking Discount',
                    ],
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Tax and Service",
    "data": {
        "id": "ef9fd502-2b67-4ce2-a72c-2df489060659",
        "name": "tax and service test",
        "tax": "10",
        "service": "11",
        "use_service": true,
        "tax_coa": {
            "id": "6300fe91-d73e-49a2-a52a-59118078cf06",
            "name": "110-30-004 | FA Cash Clearnce"
        },
        "service_coa": {
            "id": "f57cfcf5-ef2f-4222-9476-f10f1822e0d5",
            "name": "120-00-007 | A/R JCB"
        }
    }
}
 

Request   

POST api/v1/property/defaultcoamaping

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: sed

property_products   object  optional    

list maping product

tax_and_services   object  optional    

list maping product

payment_options   object  optional    

list maping product

discount_options   object  optional    

list maping product

Property Department

Detail Department

Example request:
curl --request POST \
    "http://localhost/api/v1/property/department/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"accusamus\",
    \"department_id\": \"eaque\"
}"
const url = new URL(
    "http://localhost/api/v1/property/department/detail"
);

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

let body = {
    "property_id": "accusamus",
    "department_id": "eaque"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/department/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'accusamus',
            'department_id' => 'eaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room Bed Type detail",
    "data": {
        "id": "628af586-7e1e-438c-9f06-f32513ea0577",
        "name": "Twin",
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/department/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: accusamus

department_id   string     

uuid of Property Department Example: eaque

Datatables Department

Example request:
curl --request POST \
    "http://localhost/api/v1/property/department/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/department/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/department/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [
        {
            "id": "e9954628-6ab7-4a55-8605-590e4db0754a",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Single",
            "property_name": "Hotel Dummy"
        },
        {
            "id": "628af586-7e1e-438c-9f06-f32513ea0577",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Twin",
            "property_name": "Hotel Dummy"
        },
        {
            "id": "a9d33065-8207-4c52-9cfa-b69a9c7753b3",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Twin",
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"room_bed_types\" where \"property_id\" = ? and \"room_bed_types\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 2.01
        },
        {
            "query": "select * from \"room_bed_types\" where \"property_id\" = ? and \"room_bed_types\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.49
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.9
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.82
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.67
        }
    ],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/department/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Department

Example request:
curl --request POST \
    "http://localhost/api/v1/property/department" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"voluptatibus\",
    \"department_id\": \"assumenda\",
    \"department_name\": \"dicta\"
}"
const url = new URL(
    "http://localhost/api/v1/property/department"
);

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

let body = {
    "property_id": "voluptatibus",
    "department_id": "assumenda",
    "department_name": "dicta"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/department';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'voluptatibus',
            'department_id' => 'assumenda',
            'department_name' => 'dicta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/property/department

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: voluptatibus

department_id   string     

uuid of Department Example: assumenda

department_name   string     

Name of Department Example: dicta

Property Expense

Update Expense Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/expense-invoice" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"exp_invoice_id\": \"deserunt\",
    \"property_id\": \"qui\",
    \"supplier_id\": \"magnam\",
    \"coa_id\": \"ex\",
    \"trx_date\": \"ut\",
    \"total_amount\": 11,
    \"total_discount\": 10,
    \"total_commision\": 7,
    \"exp_details\": null,
    \"exp_payments\": null
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/expense-invoice"
);

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

let body = {
    "exp_invoice_id": "deserunt",
    "property_id": "qui",
    "supplier_id": "magnam",
    "coa_id": "ex",
    "trx_date": "ut",
    "total_amount": 11,
    "total_discount": 10,
    "total_commision": 7,
    "exp_details": null,
    "exp_payments": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/expense-invoice';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'exp_invoice_id' => 'deserunt',
            'property_id' => 'qui',
            'supplier_id' => 'magnam',
            'coa_id' => 'ex',
            'trx_date' => 'ut',
            'total_amount' => 11,
            'total_discount' => 10,
            'total_commision' => 7,
            'exp_details' => null,
            'exp_payments' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Supplier Property",
    "data": {
        "id": "bbe093cb-9554-4d63-b91e-07ffc1a4caf8",
        "property": {
            "id": "ca301eec-832f-4154-99d7-7089a0ec941f",
            "name": "Hotel Dummy"
        },
        "supplier_no": "SUP-00002",
        "name": "Supplier Sayur",
        "address": "Jl Raya Umalas, kerobokan kelod, kuta utara, badung, bali",
        "phone": "081805410047",
        "email": "[email protected]",
        "website": "supplierdaging.com",
        "logo_path": null,
        "icon_path": null,
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/property/backoffice/expense-invoice

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

exp_invoice_id   string  optional    

uuid of Expense this parameter required if you want update expense Example: deserunt

property_id   string     

uuid of Property Example: qui

supplier_id   string     

uuid of Supplier Example: magnam

coa_id   string     

uuid of Chart of Account Example: ex

trx_date   string  optional    

add this value expense date with format date Y-m-d H:i:s. Exmp:2024-02-18 Example: ut

total_amount   integer     

of expense amount Example: 11

total_discount   integer     

of expense amount Example: 10

total_commision   integer     

of expense amount Example: 7

exp_details   object[]  optional    

if have expense detail.

exp_payments   object[]  optional    

if have expense payment detail.

Remove Expense Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/expense-invoice/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"exp_invoice_id\": \"et\",
    \"property_id\": \"rerum\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/expense-invoice/remove"
);

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

let body = {
    "exp_invoice_id": "et",
    "property_id": "rerum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/expense-invoice/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'exp_invoice_id' => 'et',
            'property_id' => 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Supplier Property",
    "data": {
        "id": "bbe093cb-9554-4d63-b91e-07ffc1a4caf8",
        "property": {
            "id": "ca301eec-832f-4154-99d7-7089a0ec941f",
            "name": "Hotel Dummy"
        },
        "supplier_no": "SUP-00002",
        "name": "Supplier Sayur",
        "address": "Jl Raya Umalas, kerobokan kelod, kuta utara, badung, bali",
        "phone": "081805410047",
        "email": "[email protected]",
        "website": "supplierdaging.com",
        "logo_path": null,
        "icon_path": null,
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/property/backoffice/expense-invoice/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

exp_invoice_id   string  optional    

uuid of Expense this parameter required if you want update expense Example: et

property_id   string     

uuid of Property Example: rerum

Reconcile Expense Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/expense-invoice/close" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"exp_invoice_id\": \"sapiente\",
    \"property_id\": \"ut\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/expense-invoice/close"
);

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

let body = {
    "exp_invoice_id": "sapiente",
    "property_id": "ut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/expense-invoice/close';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'exp_invoice_id' => 'sapiente',
            'property_id' => 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Supplier Property",
    "data": {
        "id": "bbe093cb-9554-4d63-b91e-07ffc1a4caf8",
        "property": {
            "id": "ca301eec-832f-4154-99d7-7089a0ec941f",
            "name": "Hotel Dummy"
        },
        "supplier_no": "SUP-00002",
        "name": "Supplier Sayur",
        "address": "Jl Raya Umalas, kerobokan kelod, kuta utara, badung, bali",
        "phone": "081805410047",
        "email": "[email protected]",
        "website": "supplierdaging.com",
        "logo_path": null,
        "icon_path": null,
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/property/backoffice/expense-invoice/close

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

exp_invoice_id   string  optional    

uuid of Expense this parameter required if you want update expense Example: sapiente

property_id   string     

uuid of Property Example: ut

Option Property Expense

Example request:
curl --request POST \
    "http://localhost/api/v1/property/backoffice/expense-invoice/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"coa\",
    \"property_id\": \"ab\",
    \"supplier_search\": \"eos\",
    \"coa_search\": \"consequuntur\",
    \"default_value\": \"quidem\",
    \"payment_option_id\": \"dolorem\",
    \"payment_option_search\": \"facere\",
    \"payment_method_search\": \"officiis\"
}"
const url = new URL(
    "http://localhost/api/v1/property/backoffice/expense-invoice/dropdown/list"
);

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

let body = {
    "mode": "coa",
    "property_id": "ab",
    "supplier_search": "eos",
    "coa_search": "consequuntur",
    "default_value": "quidem",
    "payment_option_id": "dolorem",
    "payment_option_search": "facere",
    "payment_method_search": "officiis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/backoffice/expense-invoice/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'coa',
            'property_id' => 'ab',
            'supplier_search' => 'eos',
            'coa_search' => 'consequuntur',
            'default_value' => 'quidem',
            'payment_option_id' => 'dolorem',
            'payment_option_search' => 'facere',
            'payment_method_search' => 'officiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart of Account Founds",
    "data": [
        {
            "key": null,
            "label": "1200 | ACCOUNT RECEIVABLE",
            "sub": [
                {
                    "key": "3c94c024-c6a6-4207-b091-d6fb893e8396",
                    "label": "--120-00-009 | A/R Other Credit Cards"
                }
            ]
        }
    ]
}
 

Request   

POST api/v1/property/backoffice/expense-invoice/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: coa

Must be one of:
  • coa
  • supplier
property_id   string     

uuid of Room Type Example: ab

supplier_search   string     

supplier name Example: eos

coa_search   string     

name of coa finding Example: consequuntur

default_value   string     

name of coa default value Example: quidem

payment_option_id   string     

uuid of payment option Example: dolorem

payment_option_search   string     

name of Payment option Example: facere

payment_method_search   string     

name of Payment method Example: officiis

Property Groups

Property Groups Datatables

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property-groups/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property-groups/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property-groups/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": 1,
            "name": "Hotel Dummy Group"
        }
    ]
}
 

Request   

POST api/v1/master/property-groups/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Property Groups

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property-groups" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"quaerat\",
    \"name\": \"explicabo\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property-groups"
);

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

let body = {
    "id": "quaerat",
    "name": "explicabo"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property-groups';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'quaerat',
            'name' => 'explicabo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Property Groups",
    "data": {
        "id": "d495d56f-3db7-46c9-a468-e94153ad1a06",
        "name": "New Group Property"
    }
}
 

Request   

POST api/v1/master/property-groups

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property Groups Example: quaerat

name   string     

Name of Amenities Example: explicabo

Remove Property Groups

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property-groups/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"fuga\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property-groups/remove"
);

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

let body = {
    "id": "fuga"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property-groups/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'fuga',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Property Groups",
    "data": []
}
 

Request   

POST api/v1/master/property-groups/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Country Example: fuga

Property Guest Profile

Datatables Guest Profile

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestprofile/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestprofile/datatables"
);

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

let body = {
    "property_id": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestprofile/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 9,
    "recordsFiltered": 9,
    "data": [
        {
            "id": "36db5f75-a1d3-4fa7-9aae-2d7588ce4079",
            "first_name": "Rai Octa Vioni",
            "last_name": "Ni Luh",
            "identity_no": "20234560000000",
            "email": "[email protected]",
            "phone": "+6281805410047",
            "address": "jl Raya Umalas 1, gg surya no 2 kerobokan kelod, kuta utara, badung bali",
            "guest_name": "Mrs. Rai Octa Vioni Ni Luh",
            "country_name": "Indonesia",
            "nationality_name": "Netherlands"
        }
    ],
    "input": {
        "property_id": "b8bc912c-ad4b-4419-8850-04347fd90c09"
    }
}
 

Request   

POST api/v1/property/guestprofile/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: est

Get detail Guest Profile Data

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestprofile/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"minus\",
    \"guest_id\": \"temporibus\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestprofile/detail"
);

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

let body = {
    "property_id": "minus",
    "guest_id": "temporibus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestprofile/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'minus',
            'guest_id' => 'temporibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/guestprofile/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: minus

guest_id   string     

uuid of Property Guest Profile Example: temporibus

Create Or Update

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestprofile/save" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"guest_id\": \"in\",
    \"property_id\": \"illo\",
    \"guest_prefix_id\": \"laborum\",
    \"first_name\": \"velit\",
    \"last_name\": \"et\",
    \"country_id\": \"suscipit\",
    \"national_id\": \"a\",
    \"identity_type_id\": \"possimus\",
    \"identity_no\": \"rerum\",
    \"email\": \"[email protected]\",
    \"phone\": \"autem\",
    \"address\": \"officia\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestprofile/save"
);

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

let body = {
    "guest_id": "in",
    "property_id": "illo",
    "guest_prefix_id": "laborum",
    "first_name": "velit",
    "last_name": "et",
    "country_id": "suscipit",
    "national_id": "a",
    "identity_type_id": "possimus",
    "identity_no": "rerum",
    "email": "[email protected]",
    "phone": "autem",
    "address": "officia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestprofile/save';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'guest_id' => 'in',
            'property_id' => 'illo',
            'guest_prefix_id' => 'laborum',
            'first_name' => 'velit',
            'last_name' => 'et',
            'country_id' => 'suscipit',
            'national_id' => 'a',
            'identity_type_id' => 'possimus',
            'identity_no' => 'rerum',
            'email' => '[email protected]',
            'phone' => 'autem',
            'address' => 'officia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/property/guestprofile/save

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

guest_id   string     

uuid of Property Guest Profile this parameter just need if want update detail profile Example: in

property_id   string     

uuid of Property Example: illo

guest_prefix_id   string     

uuid of Guest Prefix Example: laborum

first_name   string     

First Name Of Guest Profile Example: velit

last_name   string     

Last Name Of Guest Profile Example: et

country_id   string     

uuid of Country Example: suscipit

national_id   string     

uuid of National same use country data Example: a

identity_type_id   string     

uuid of Guest Identity Type Example: possimus

identity_no   string     

Identity Number Of Guest Profile Example: rerum

email   string     

Email Of Guest Profile Example: [email protected]

phone   string     

Phone Of Guest Profile Example: autem

address   string     

Address Of Guest Profile Example: officia

Option Property Guest Input

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestprofile/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"vel\",
    \"mode\": \"guestprefix\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestprofile/dropdown/list"
);

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

let body = {
    "property_id": "vel",
    "mode": "guestprefix"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestprofile/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'vel',
            'mode' => 'guestprefix',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/property/guestprofile/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: vel

mode   string  optional    

The language. Example: guestprefix

Must be one of:
  • guestprefix
  • guestcountry
  • guestnationality
  • guestidentitytype

Duplicate Guest Profile

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestprofile/duplicate/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"debitis\"
}"
const url = new URL(
    "http://localhost/api/v1/property/guestprofile/duplicate/list"
);

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

let body = {
    "property_id": "debitis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestprofile/duplicate/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'debitis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Have Guest Profile Duplicate",
    "data": [
        {
            "main_profile": {
                "id": "f0c07a03-0e9c-4cf2-a362-a29ac4f28bbd",
                "guest_prefix": "Mrs.",
                "first_name": "Ernawati",
                "last_name": "Ni Luh",
                "country": null,
                "national": null,
                "identity_type": null,
                "identity_no": null,
                "email": null,
                "phone": null,
                "address": null
            },
            "duplicate_profile": [
                {
                    "id": "6dca87d1-bbe1-4255-9f54-df139399eb3a",
                    "guest_prefix": "Mrs.",
                    "first_name": "Ernawati",
                    "last_name": "Ni Luh",
                    "country": null,
                    "national": null,
                    "identity_type": null,
                    "identity_no": null,
                    "email": null,
                    "phone": null,
                    "address": null
                }
            ]
        }
    ]
}
 

Request   

POST api/v1/property/guestprofile/duplicate/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: debitis

Duplicate Guest Merge

Example request:
curl --request POST \
    "http://localhost/api/v1/property/guestprofile/duplicate/merge" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"guest_id\": [
        []
    ]
}"
const url = new URL(
    "http://localhost/api/v1/property/guestprofile/duplicate/merge"
);

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

let body = {
    "property_id": "et",
    "guest_id": [
        []
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/guestprofile/duplicate/merge';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'guest_id' => [
                [],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Merge Guest Profile",
    "data": []
}
 

Request   

POST api/v1/property/guestprofile/duplicate/merge

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: et

guest_id   object[]     

uuid of Property Guest Profile

Property Night Audit Settings

Option Property Night Audit Settings

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/night-audit-setting/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"eveniet\",
    \"mode\": \"detail\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property/night-audit-setting/dropdown/list"
);

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

let body = {
    "property_id": "eveniet",
    "mode": "detail"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/night-audit-setting/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'eveniet',
            'mode' => 'detail',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart Of Account Template Options Founds",
    "data": [
        {
            "id": "6fe39895-7805-4e41-a241-f19b80ebf6f5",
            "name": "Full Chart Of Account"
        },
        {
            "id": "460a784a-e3d0-4fe1-b699-a55c52d03b69",
            "name": "Simple Chart Of Account"
        }
    ]
}
 

Request   

POST api/v1/master/property/night-audit-setting/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   uuid  optional    

string required id of Property id, if not set group please not set this parameter Example: eveniet

mode   string  optional    

The property. Example: detail

Must be one of:
  • detail

Add / Update Property

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/night-audit-setting" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"eligendi\",
    \"is_auto\": true,
    \"run_time_schedule\": \"inventore\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property/night-audit-setting"
);

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

let body = {
    "property_id": "eligendi",
    "is_auto": true,
    "run_time_schedule": "inventore"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/night-audit-setting';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'eligendi',
            'is_auto' => true,
            'run_time_schedule' => 'inventore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Property",
    "data": {
        "id": "4ad856b3-a493-487d-88e7-7c9d67b378bb",
        "prefix_booking_code": "nagata-booking",
        "name": "Nagata Resort And Retreat",
        "address": "Jl Bisma 20010 tegallang ubud",
        "zip_code": "80361",
        "phone": "+6281805410047",
        "email_primary": "[email protected]",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/e7b2f9d5-71d8-4cc0-9b43-afcf7a80751f",
        "website": "https://nagata.com",
        "longitude": "-8.6425998",
        "latitude": "115.1770584",
        "google_map_url": "https://maps.app.goo.gl/Nruid5SG9R1ekhwR9",
        "sosmed_facebook_url": "facebok",
        "sosmed_instagram_url": "instagram",
        "sosmed_youtube_url": "youtube",
        "sosmed_twitter_url": "twiter",
        "description": null,
        "property_group": {
            "id": "d0988d1d-a3d0-4494-807d-e9777345d4a4",
            "name": "Hotel Dummy Group"
        },
        "area": {
            "id": "5f8e34b9-0207-48b5-af11-1fc90e84d0e4",
            "area_name": "Aceh Selatan",
            "region_name": "Aceh",
            "country_name": "Indonesia"
        },
        "currency": {
            "id": "99ebc31c-bcec-42a3-940c-d586c20558c9",
            "name": "Afghan afghani"
        },
        "timezone": {
            "id": "461ce532-c63f-4ada-8a3b-4a6317b8bff1",
            "name": "Africa/Abidjan"
        }
    }
}
 

Request   

POST api/v1/master/property/night-audit-setting

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   uuid  optional    

string required id of Property id, if not set group please not set this parameter Example: eligendi

is_auto   boolean  optional    

if you want automatic run nightaudit please set this to true Example: true

run_time_schedule   string     

if set auto night audit true format time H:i:s Example: inventore

Property Product Category

Detail Product Category

Example request:
curl --request POST \
    "http://localhost/api/v1/property/product-category/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"error\",
    \"poduct_category_id\": \"ipsa\"
}"
const url = new URL(
    "http://localhost/api/v1/property/product-category/detail"
);

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

let body = {
    "property_id": "error",
    "poduct_category_id": "ipsa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/product-category/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'error',
            'poduct_category_id' => 'ipsa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room Bed Type detail",
    "data": {
        "id": "628af586-7e1e-438c-9f06-f32513ea0577",
        "name": "Twin",
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/product-category/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: error

poduct_category_id   string     

uuid of Property Product Category Example: ipsa

Datatables Product Category

Example request:
curl --request POST \
    "http://localhost/api/v1/property/product-category/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/product-category/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/product-category/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [
        {
            "id": "e9954628-6ab7-4a55-8605-590e4db0754a",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Single",
            "property_name": "Hotel Dummy"
        },
        {
            "id": "628af586-7e1e-438c-9f06-f32513ea0577",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Twin",
            "property_name": "Hotel Dummy"
        },
        {
            "id": "a9d33065-8207-4c52-9cfa-b69a9c7753b3",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Twin",
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"room_bed_types\" where \"property_id\" = ? and \"room_bed_types\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 2.01
        },
        {
            "query": "select * from \"room_bed_types\" where \"property_id\" = ? and \"room_bed_types\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.49
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.9
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.82
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.67
        }
    ],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/product-category/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Product Category

Example request:
curl --request POST \
    "http://localhost/api/v1/property/product-category" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"et\",
    \"product_category_id\": \"id\",
    \"name\": \"repellendus\"
}"
const url = new URL(
    "http://localhost/api/v1/property/product-category"
);

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

let body = {
    "property_id": "et",
    "product_category_id": "id",
    "name": "repellendus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/product-category';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'et',
            'product_category_id' => 'id',
            'name' => 'repellendus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/property/product-category

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: et

product_category_id   string     

uuid of Product Category Example: id

name   string     

Name of Product Category Example: repellendus

Remove Product Category

Example request:
curl --request POST \
    "http://localhost/api/v1/property/product-category/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"product_category_id\": \"blanditiis\"
}"
const url = new URL(
    "http://localhost/api/v1/property/product-category/remove"
);

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

let body = {
    "product_category_id": "blanditiis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/product-category/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'product_category_id' => 'blanditiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/property/product-category/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

product_category_id   string     

uuid of Property Product Category Example: blanditiis

Property Products

Detail Products

Example request:
curl --request POST \
    "http://localhost/api/v1/property/property-product/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"harum\",
    \"product_id\": \"voluptatem\"
}"
const url = new URL(
    "http://localhost/api/v1/property/property-product/detail"
);

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

let body = {
    "property_id": "harum",
    "product_id": "voluptatem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/property-product/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'harum',
            'product_id' => 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room Type detail",
    "data": {
        "id": "054cd951-626c-400d-8764-3f28e266d806",
        "name": "Standard Balcony",
        "description": "Standard Balcony Room",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/property-product/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: harum

product_id   string     

uuid of Property Room Status Example: voluptatem

Datatables Products

Example request:
curl --request POST \
    "http://localhost/api/v1/property/property-product/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/property-product/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/property-product/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 5,
    "recordsFiltered": 5,
    "data": [
        {
            "id": "214310a1-f98b-4edb-9e55-5a1616875318",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Standard",
            "description": "Standar Room",
            "position_order": 1,
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/property-product/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Products

Example request:
curl --request POST \
    "http://localhost/api/v1/property/property-product" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"numquam\",
    \"property_id\": \"nobis\",
    \"category_id\": \"beatae\",
    \"department_id\": \"necessitatibus\",
    \"sell_coa_id\": \"repellendus\",
    \"cost_coa_id\": \"fugit\",
    \"name\": \"impedit\",
    \"remark\": \"et\",
    \"sell_amount\": 13,
    \"cost_amount\": 2,
    \"is_active\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/property/property-product"
);

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

let body = {
    "id": "numquam",
    "property_id": "nobis",
    "category_id": "beatae",
    "department_id": "necessitatibus",
    "sell_coa_id": "repellendus",
    "cost_coa_id": "fugit",
    "name": "impedit",
    "remark": "et",
    "sell_amount": 13,
    "cost_amount": 2,
    "is_active": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/property-product';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'numquam',
            'property_id' => 'nobis',
            'category_id' => 'beatae',
            'department_id' => 'necessitatibus',
            'sell_coa_id' => 'repellendus',
            'cost_coa_id' => 'fugit',
            'name' => 'impedit',
            'remark' => 'et',
            'sell_amount' => 13,
            'cost_amount' => 2,
            'is_active' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room type",
    "data": {
        "id": "3696cda0-035d-4827-a406-c14e6fcdf264",
        "name": "Room Type baru",
        "description": "Room Type Baru Description",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
        "amenities": [
            {
                "category_id": "37b32a73-0c29-4d5a-80bd-1717901d015e",
                "category_name": "Room Amenities",
                "amenities_list": [
                    {
                        "id": "78e7914b-21b5-4bdd-b461-2d3cd72b8f67",
                        "name": "Adapter",
                        "is_select": false
                    },
                    {
                        "id": "05300f15-884d-409e-a396-536929d3cbcf",
                        "name": "Air conditioning",
                        "is_select": true
                    },
                    {
                        "id": "a7d9dedc-cf0b-4d68-9a48-37e14461fdf4",
                        "name": "Air conditioning single room",
                        "is_select": false
                    },
                    {
                        "id": "fd1f09c8-0aca-4f66-b071-cc030a76b36b",
                        "name": "Balcony",
                        "is_select": true
                    },
                    {
                        "id": "dba356b4-5d41-4546-84cf-b08f6585f457",
                        "name": "Bathtub",
                        "is_select": false
                    },
                    {
                        "id": "252b28a2-6add-4a37-85c5-d22598b5e2a1",
                        "name": "Carpeted",
                        "is_select": false
                    },
                    {
                        "id": "f214eca9-262c-4307-979d-3e4bd8de39b4",
                        "name": "Childrens cribs",
                        "is_select": true
                    },
                    {
                        "id": "dc05d273-baec-48b0-acdf-559c39a35f61",
                        "name": "Cleaning products",
                        "is_select": false
                    },
                    {
                        "id": "404dd22a-26e0-4931-b3b2-99333f1e968e",
                        "name": "Clothes rack",
                        "is_select": false
                    },
                    {
                        "id": "3c23f5bb-59ee-4f48-b88a-be1d94681df6",
                        "name": "Desk",
                        "is_select": false
                    },
                    {
                        "id": "bc0c5784-2809-4904-b4e0-bab8b9e1e3d0",
                        "name": "Dryer",
                        "is_select": true
                    },
                    {
                        "id": "99fedee9-ecef-4875-81ce-2a4b9f16cd0a",
                        "name": "Drying rack for clothing",
                        "is_select": false
                    },
                    {
                        "id": "7a8eee4a-155a-4214-b105-68705f2e381b",
                        "name": "Electric blankets",
                        "is_select": false
                    },
                    {
                        "id": "b7757b5e-fa8e-465b-8c3e-f481ed0aba66",
                        "name": "Electric kettle",
                        "is_select": false
                    },
                    {
                        "id": "ce91b7d8-afa1-466d-bfd2-cbc01d107aa8",
                        "name": "Extra long beds (> 6.5 ft)",
                        "is_select": false
                    },
                    {
                        "id": "d0de7cd0-bf27-416f-9317-d65ede231d2f",
                        "name": "Fan",
                        "is_select": false
                    },
                    {
                        "id": "ef8e700d-34cd-46f3-ad83-e40192ff2a8f",
                        "name": "Feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "68d1483f-999a-4155-b2e4-86e0edf8c3ab",
                        "name": "Fireplace",
                        "is_select": false
                    },
                    {
                        "id": "9c1b1920-b3c0-4ce6-8e76-e9a41ceb3b28",
                        "name": "Flat-screen TV",
                        "is_select": false
                    },
                    {
                        "id": "206d34a2-716d-4f08-8895-b18a152c5c5c",
                        "name": "Fold-up bed",
                        "is_select": false
                    },
                    {
                        "id": "feb09933-4210-4e53-a083-60e0ff5f2076",
                        "name": "Hardwood or parquet floors",
                        "is_select": false
                    },
                    {
                        "id": "2d83428c-67f0-424c-b3cf-7b64c7bbde4d",
                        "name": "Heated pool",
                        "is_select": false
                    },
                    {
                        "id": "0e457b6c-27f9-4170-9174-ddcc4a44dbbc",
                        "name": "Heating",
                        "is_select": false
                    },
                    {
                        "id": "a91728b8-4c62-4644-bfc3-8673cdd06c5e",
                        "name": "Hot tub",
                        "is_select": false
                    },
                    {
                        "id": "96fc900e-041f-454c-9aae-45dd06b9a142",
                        "name": "Hypoallergenic",
                        "is_select": false
                    },
                    {
                        "id": "daeea86a-79c0-45b8-81a7-e76333134b3d",
                        "name": "Hypoallergenic pillow",
                        "is_select": false
                    },
                    {
                        "id": "9f577ec2-34e9-4d5c-87df-868bb8ffae4d",
                        "name": "Infinity Pool",
                        "is_select": false
                    },
                    {
                        "id": "0897bc60-47b1-46dd-a822-2bcaeb07d8e8",
                        "name": "Interconnecting rooms",
                        "is_select": false
                    },
                    {
                        "id": "a662f19e-419c-41a9-a0a0-b0c2f00f24dd",
                        "name": "Iron",
                        "is_select": false
                    },
                    {
                        "id": "46a2ee4a-c711-4dd2-a99d-ce6c6ebf3a31",
                        "name": "Ironing facilities",
                        "is_select": false
                    },
                    {
                        "id": "6107ec89-e45a-43f5-ac25-598f20535951",
                        "name": "Mosquito net",
                        "is_select": false
                    },
                    {
                        "id": "1818a164-cfd0-435a-8398-f7ddc11401f4",
                        "name": "Non-feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "1ca6771c-37ae-4ff6-84d0-4277f27365b0",
                        "name": "Pajamas",
                        "is_select": false
                    },
                    {
                        "id": "3e611ae2-edf5-4473-ae7b-c6ab2d6ce946",
                        "name": "Plunge Pool",
                        "is_select": false
                    },
                    {
                        "id": "a13e0b46-0d5e-4503-bc11-af25b568609a",
                        "name": "Pool cover",
                        "is_select": false
                    },
                    {
                        "id": "86854195-b984-415f-925e-bee9172388dc",
                        "name": "Pool towels",
                        "is_select": false
                    },
                    {
                        "id": "b5687b9d-65b2-4d1a-aa22-b2ef72a26685",
                        "name": "Pool with a view",
                        "is_select": false
                    },
                    {
                        "id": "bc8c3d71-115f-45ff-8d98-6d6c7c1ad6b7",
                        "name": "Private pool",
                        "is_select": false
                    },
                    {
                        "id": "7ba1a081-d56b-4608-9d2e-1110fa4cd601",
                        "name": "Rooftop pool",
                        "is_select": false
                    },
                    {
                        "id": "b808b875-492d-458d-a6bc-720372622767",
                        "name": "Safe",
                        "is_select": false
                    },
                    {
                        "id": "d990b235-5121-4b63-ad8c-5ee1721196b4",
                        "name": "Saltwater pool",
                        "is_select": false
                    },
                    {
                        "id": "b38466d0-9e59-4736-8204-0b01d379faa0",
                        "name": "Shallow end",
                        "is_select": false
                    },
                    {
                        "id": "bc33df3d-9f0f-425b-a0df-46ab53e7aa83",
                        "name": "Sitting area",
                        "is_select": false
                    },
                    {
                        "id": "441d79fb-82a4-458a-8bd2-8f91f40f5e2b",
                        "name": "Socket near the bed",
                        "is_select": false
                    },
                    {
                        "id": "30d5b8ec-8f2e-4fc6-899a-5714a9d7be63",
                        "name": "Sofa",
                        "is_select": false
                    },
                    {
                        "id": "06b027ce-138e-4f61-bc25-10165e24cbfd",
                        "name": "Sofa bed",
                        "is_select": false
                    },
                    {
                        "id": "f2d7c256-4b44-48bf-a2a0-04917f773784",
                        "name": "Soundproof",
                        "is_select": false
                    },
                    {
                        "id": "f39be007-f9d0-413a-9434-335578838ac8",
                        "name": "Suit press",
                        "is_select": false
                    },
                    {
                        "id": "892e321b-5422-48d7-8c1d-950486a1ea57",
                        "name": "Tile/Marble floor",
                        "is_select": false
                    },
                    {
                        "id": "7bdbc02c-4cf0-487a-9faa-bbe25447795a",
                        "name": "Toilet paper",
                        "is_select": false
                    },
                    {
                        "id": "5f84000a-c63d-4234-93c7-dcf36434b1ff",
                        "name": "Towels",
                        "is_select": false
                    },
                    {
                        "id": "b8937943-2b2c-4818-8943-cea8f0754fe6",
                        "name": "Trash cans",
                        "is_select": false
                    },
                    {
                        "id": "26ad03ba-c55c-489a-a550-92f19982df53",
                        "name": "View",
                        "is_select": false
                    },
                    {
                        "id": "ec55c805-84d8-4457-b5b8-fec22adf8ec6",
                        "name": "Walk-in closet",
                        "is_select": false
                    },
                    {
                        "id": "8d560293-82fd-4135-99df-761aa540dbb7",
                        "name": "Wardrobe or closet",
                        "is_select": false
                    },
                    {
                        "id": "b0d7bf28-75d2-4f0a-8ad9-baabe2e50608",
                        "name": "Washing machine",
                        "is_select": false
                    },
                    {
                        "id": "17d5df9c-0bb9-4390-8177-9dc05b0ea92c",
                        "name": "Yukata",
                        "is_select": false
                    },
                    {
                        "id": "336a2aa5-fb92-432e-9d15-496f0638fd60",
                        "name": "Air purifiers",
                        "is_select": false
                    },
                    {
                        "id": "f822da69-c6d3-439d-aab2-58c28e09dc39",
                        "name": "Hand sanitizer",
                        "is_select": false
                    },
                    {
                        "id": "932710b6-8c27-4184-b3b3-7df86e2fb36f",
                        "name": "Bolsters",
                        "is_select": false
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/property/property-product

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Type id please not set param if you want create new room type Example: numquam

property_id   string     

uuid of Property Example: nobis

category_id   string     

uuid of Category Example: beatae

department_id   string     

uuid of Department Example: necessitatibus

sell_coa_id   string     

uuid of Selling Chart Of Account Example: repellendus

cost_coa_id   string     

uuid of Cost Chart Of Account Example: fugit

name   string     

Name of Product Example: impedit

remark   string  optional    

Remark Of Product Example: et

sell_amount   integer     

sell amount price Example: 13

cost_amount   integer     

cost amount price Example: 2

is_active   bolean  optional    

uuid of room amenities Example: aut

Remove Products

Example request:
curl --request POST \
    "http://localhost/api/v1/property/property-product/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"sapiente\"
}"
const url = new URL(
    "http://localhost/api/v1/property/property-product/remove"
);

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

let body = {
    "id": "sapiente"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/property-product/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'sapiente',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Property Product",
    "data": []
}
 

Request   

POST api/v1/property/property-product/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property Product Example: sapiente

Option Products Input

Example request:
curl --request POST \
    "http://localhost/api/v1/property/property-product/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"category\",
    \"property_id\": \"nemo\"
}"
const url = new URL(
    "http://localhost/api/v1/property/property-product/dropdown/list"
);

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

let body = {
    "mode": "category",
    "property_id": "nemo"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/property-product/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'category',
            'property_id' => 'nemo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/property/property-product/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: category

Must be one of:
  • category
  • department
  • coa
  • property_currency
property_id   string     

uuid of Property Example: nemo

Property Room

Detail Room

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"assumenda\",
    \"room_type_id\": \"et\",
    \"room_id\": \"voluptas\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room/detail"
);

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

let body = {
    "property_id": "assumenda",
    "room_type_id": "et",
    "room_id": "voluptas"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'assumenda',
            'room_type_id' => 'et',
            'room_id' => 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room Type detail",
    "data": {
        "id": "054cd951-626c-400d-8764-3f28e266d806",
        "name": "Standard Balcony",
        "description": "Standard Balcony Room",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/room/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: assumenda

room_type_id   string     

uuid of Property Room Type Example: et

room_id   string     

uuid of Property Room Example: voluptas

Datatables Room Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"vero\",
    \"room_type_id\": \"voluptatem\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room/datatables"
);

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

let body = {
    "property_id": "vero",
    "room_type_id": "voluptatem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'vero',
            'room_type_id' => 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 4,
    "recordsFiltered": 4,
    "data": [
        {
            "id": "594c67d4-6dff-4315-aa48-afb5139ab8ee",
            "room_type_id": "214310a1-f98b-4edb-9e55-5a1616875318",
            "room_bed_type_id": "e9954628-6ab7-4a55-8605-590e4db0754a",
            "name": "101",
            "description": "101",
            "room_status_id": "",
            "room_status_name": "",
            "room_status_text_color": "",
            "room_status_background": "",
            "room_type_name": "Standard",
            "room_bed_type_name": "Single"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
        "room_type_id": "214310a1-f98b-4edb-9e55-5a1616875318"
    }
}
 

Request   

POST api/v1/property/room/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: vero

room_type_id   string     

uuid of Property Room Status Example: voluptatem

Create / Update Room

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"porro\",
    \"property_id\": \"enim\",
    \"room_type_id\": \"eius\",
    \"room_bed_type_id\": \"vitae\",
    \"name\": \"animi\",
    \"description\": \"Dolores repellendus exercitationem vero quasi aliquam voluptates qui.\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room"
);

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

let body = {
    "id": "porro",
    "property_id": "enim",
    "room_type_id": "eius",
    "room_bed_type_id": "vitae",
    "name": "animi",
    "description": "Dolores repellendus exercitationem vero quasi aliquam voluptates qui."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'porro',
            'property_id' => 'enim',
            'room_type_id' => 'eius',
            'room_bed_type_id' => 'vitae',
            'name' => 'animi',
            'description' => 'Dolores repellendus exercitationem vero quasi aliquam voluptates qui.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room",
    "data": {
        "id": "8ee6a1e8-a3c0-4f91-8035-38cfcdd88131",
        "room_type": {
            "id": "c6f2e4e0-6b99-409b-bb48-e65e377dbbec",
            "name": "Standard Balcony"
        },
        "room_bed_type": {
            "id": "075c9027-3d6b-4a79-9e3c-3cb8d6cba34b",
            "name": "Twin"
        },
        "latest_status": [],
        "name": "Kamar Baru 101 update",
        "description": "kamar Terletak Di lantai 3",
        "position_order": 10
    }
}
 

Request   

POST api/v1/property/room

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room please ingnore this parameter if you want create new room Example: porro

property_id   string     

uuid of Property Example: enim

room_type_id   string     

uuid of Room Type Example: eius

room_bed_type_id   string     

uuid of Room Bed Type Example: vitae

name   string     

Name of Room Example: animi

description   string     

Description of Room Example: Dolores repellendus exercitationem vero quasi aliquam voluptates qui.

Remove Room

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"incidunt\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room/remove"
);

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

let body = {
    "id": "incidunt"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'incidunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Room",
    "data": []
}
 

Request   

POST api/v1/property/room/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Example: incidunt

Option Input Rooms

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"voluptatum\",
    \"mode\": \"bed_type\",
    \"room_id\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room/dropdown/list"
);

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

let body = {
    "property_id": "voluptatum",
    "mode": "bed_type",
    "room_id": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'voluptatum',
            'mode' => 'bed_type',
            'room_id' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Parrent Chart Of Accounts Founds",
    "data": [
        {
            "key": "210b2362-d9f6-45e0-a25b-ead638df9b91",
            "label": "1101 - HOUSE BANK"
        },
        {
            "key": "4ca4727f-53b2-46b7-b075-d91d6e0b4cfe",
            "label": "1102 - BANK"
        },
        {
            "key": "8fc28675-351f-433a-a5db-5a1de3034372",
            "label": "1103 - CASH CLEARANCE"
        },
        {
            "key": "8830ca00-d308-4e6a-95d4-62ad01228e90",
            "label": "1200 - ACCOUNT RECEIVABLE"
        },
        {
            "key": "fd1c04d4-ff02-4dff-90aa-19af7117ba57",
            "label": "1202 - OTHER RECEIVABLE"
        },
        {
            "key": "b42ccf09-1d0e-41a3-8eab-21ae5d2e0f31",
            "label": "1205 - AFFILIATED COMP.RECEIVABLE"
        },
        {
            "key": "81646715-b856-468a-b043-139486a308ca",
            "label": "1206 - DEPOSIT AND ADVANCED"
        },
        {
            "key": "b2267586-3d5e-493b-8ab1-77a112e3e839",
            "label": "1300 - INVENTORY"
        },
        {
            "key": "4081e874-138d-458c-90cb-aa0393c3bd3b",
            "label": "1302 - PREPAID EXPENSES"
        },
        {
            "key": "803cb6c1-fce1-46b0-b17e-37c2de7d8b67",
            "label": "1500 - PROPERTY & EQUIPMENT"
        },
        {
            "key": "23b79ab7-6670-4bad-944a-94483d9bbc28",
            "label": "1503 - FURNITURE, FIXTURE & EQUIPMENT"
        },
        {
            "key": "fc6257ca-106a-4d9e-8a30-b7d0c2f6dab3",
            "label": "1505 - OPERATING EQUIPMENT"
        },
        {
            "key": "f6ee9426-57c4-4a73-a344-ec04dd5f68c2",
            "label": "1600 - FIXED ASSET LEASING"
        },
        {
            "key": "eff45872-f200-426a-8041-c11c064a7166",
            "label": "1700 - ACC. DEPRE PROPERTY & EQUIPMENT"
        },
        {
            "key": "5d020502-871e-4947-bc42-fe51ac519653",
            "label": "1701 - ACC. DEPRE FURNITURE, FIXTURE &"
        },
        {
            "key": "0b09c462-295b-434d-a5d2-9dadc6f239ee",
            "label": "1702 - ACC. DEPRE OPERATING EQUIPMENT"
        },
        {
            "key": "bcb9d228-589b-43a0-b6ed-59aa4568e95c",
            "label": "1703 - ACC. DEPRE FIXED ASSET LEASING"
        },
        {
            "key": "fc5c56af-55b9-4ed2-8bc2-f388e9001554",
            "label": "1800 - OTHER ASSET"
        },
        {
            "key": "06a1cbb6-6f5e-4cfd-80a1-207b580c4717",
            "label": "2100 - ACCOUNT PAYABLE"
        },
        {
            "key": "7a790a80-bd59-4e79-8869-ace6fa7a55e0",
            "label": "2200 - TAX PAYABLE"
        },
        {
            "key": "8c0fd310-cc35-4ace-94e2-deb37cc79aa2",
            "label": "2300 - ACCRUED EXPENSES"
        },
        {
            "key": "00a4706d-5d9e-4a08-ba6d-9caccf45bff0",
            "label": "2400 - GUEST DEPOSIT"
        },
        {
            "key": "23c40acd-12b8-4ba1-aab9-d054cd541b30",
            "label": "2500 - OTHER LIABILITIES"
        },
        {
            "key": "b647d91e-7061-4a12-af2f-6d6cc89a7139",
            "label": "2600 - AFFILIATED COMPANY PAYABLE"
        },
        {
            "key": "7d690279-16ba-4ab1-9903-8cb04e88030f",
            "label": "2700 - PROVISION"
        },
        {
            "key": "a5e8d2a9-9ce6-43db-8283-19b2f4068274",
            "label": "2800 - RESERVE"
        },
        {
            "key": "b5f2fac5-37ae-4e9b-bb6f-7fe3185bfd11",
            "label": "2900 - LONG TERM LIABILITIES"
        },
        {
            "key": "56c709ec-38ea-4def-8c96-5a5fd04946c2",
            "label": "3100 - CAPITAL"
        },
        {
            "key": "7e95b34b-f1e8-4f04-b23a-04e3f2be8187",
            "label": "3200 - RETAINED EARNING"
        },
        {
            "key": "5a5cb85b-1ad5-4da5-a291-f914204af921",
            "label": "4001 - ROOM REVENUE"
        },
        {
            "key": "5555087b-30be-4759-85f8-d8acd3220c05",
            "label": "4102 - RESTAURANT REVENUE"
        },
        {
            "key": "cd40bf4e-8bb0-4af0-a619-22fc8d08e952",
            "label": "4103 - POOL BAR REVENUE"
        },
        {
            "key": "d13274cb-3158-4389-b05e-200f4932e613",
            "label": "4104 - BANQUET REVENUE"
        },
        {
            "key": "1000d05d-6280-4dec-9e1f-3231b821dd96",
            "label": "4105 - ROOM SERVICE REVENUE"
        },
        {
            "key": "480b5176-37b9-4851-b6db-1da3c22a015c",
            "label": "4106 - MINI BAR"
        },
        {
            "key": "2c55fb76-5ea6-4d3a-8430-fa2bbcfd9869",
            "label": "4107 - TELEPHONE REVENUE"
        },
        {
            "key": "6e024e8d-8ead-4623-b9d1-9d3370320af5",
            "label": "4108 - BUSINESS CENTER REVENUE"
        },
        {
            "key": "601d1eec-00a2-4300-9ebf-517fce44cd39",
            "label": "4109 - LAUNDRY REVENUE"
        },
        {
            "key": "698a22e9-7e09-402a-9ddd-13e19140def3",
            "label": "4110 - SPA REVENUE"
        },
        {
            "key": "d25c9ab5-95f5-47d4-a47e-ba8147bb7053",
            "label": "4301 - MOD REVENUE"
        },
        {
            "key": "60a19460-3517-48e6-82cf-e6855fe276f8",
            "label": "4302 - OTHER INCOME"
        },
        {
            "key": "ee51d258-0c3e-4971-ac91-bca3dafb8537",
            "label": "5000 - COST OF RESTAURANT"
        },
        {
            "key": "17d2fd3c-55fa-4e59-8fc2-cba98b557be9",
            "label": "5101 - COST OF POOL BAR"
        },
        {
            "key": "8504db70-44d7-4e62-9510-1ffca276c4c2",
            "label": "5102 - COST OF BANQUET"
        },
        {
            "key": "d7e55854-cc2b-4d9a-a693-8c5ce9d65891",
            "label": "5103 - COST OF ROOM SERVICE"
        },
        {
            "key": "e1c8b321-ebd6-499d-9002-2abd99c8fe66",
            "label": "5104 - TELEPHONE COST OF SALES"
        },
        {
            "key": "e2415705-6352-4899-a164-129e20aaa4aa",
            "label": "5105 - BC COST OF SALES"
        },
        {
            "key": "59c308ac-df35-44fd-b562-1e63312a84ad",
            "label": "5106 - LAUNDRY COST OF SALES"
        },
        {
            "key": "d8ee2e0b-57ac-40a3-b5af-157d539093b7",
            "label": "5109 - SPA COST OF SALES"
        },
        {
            "key": "820d1acc-0efb-4de8-9172-44c62e001a0c",
            "label": "5110 - MOD COST OF SALES"
        },
        {
            "key": "2d243fe1-1cfd-4205-88cc-cac68ef3eb43",
            "label": "6100 - FO PAYROLL & RELATED"
        },
        {
            "key": "5a9f0e73-9aaf-4d19-8dde-7223ae74feeb",
            "label": "6101 - FO OTHER EXPENSES"
        },
        {
            "key": "f4013403-dc42-4c57-bd58-4566fa2647d1",
            "label": "6102 - FO PROVISION"
        },
        {
            "key": "4e58b804-17b3-4447-a1a6-0359d713be34",
            "label": "6110 - HK PAYROLL & RELATED"
        },
        {
            "key": "8d103cc4-73d9-41e1-a647-0003af126eb1",
            "label": "6111 - HK OTHER EXPENSES"
        },
        {
            "key": "700d17b7-a83c-4532-ad5a-a307035687cc",
            "label": "6112 - HK PROVISION"
        },
        {
            "key": "15901219-d41c-4a2f-8329-6c5737cc0b11",
            "label": "6120 - REST PAYROLL & RELATED"
        },
        {
            "key": "9142a74a-ea26-4f5a-a106-5a6a1b0e7df4",
            "label": "6121 - REST OTHER EXPENSES"
        },
        {
            "key": "9a2a4764-6f60-4633-96a4-332dd6571e46",
            "label": "6122 - REST PROVISION"
        },
        {
            "key": "e60ce86c-68b4-4cde-bc85-28231266cee4",
            "label": "6130 - POOL BAR PAYROLL & RELATED"
        },
        {
            "key": "e561a4f8-588d-43aa-8a20-188edd2ae811",
            "label": "6131 - POOL BAR OTHER EXPENSES"
        },
        {
            "key": "4ffa54ed-feaf-4ed4-b661-1cf72df33a31",
            "label": "6132 - POOL BAR PROVISION"
        },
        {
            "key": "1e542c97-b3ee-479e-9859-4a1975e87c52",
            "label": "6140 - RS PAYROLL & RELATED"
        },
        {
            "key": "a05037f3-b44d-489a-a097-837f581d106c",
            "label": "6141 - RS OTHER EXPENSES"
        },
        {
            "key": "2a7be2e9-2c2f-4c77-b6b2-4c83c5ffdf10",
            "label": "6142 - RS PROVISION"
        },
        {
            "key": "d6054b4f-b5b0-4946-b6d9-f05cab48e2f9",
            "label": "6150 - BQT PAYROLL & RELATED"
        },
        {
            "key": "5dfb17b7-644a-43d4-baa5-8f823d0f0abf",
            "label": "6151 - BQT OTHER EXPENSES"
        },
        {
            "key": "8aee3482-d98e-4574-9c62-409c055a2cb5",
            "label": "6152 - BQT PROVISION"
        },
        {
            "key": "97ff15af-1f9f-4b25-9425-8e5b3a0db63d",
            "label": "6160 - MB PAYROLL & RELATED"
        },
        {
            "key": "495d3064-00a5-4cb4-bb60-ca82950575ef",
            "label": "6161 - MB OTHER EXPENSES"
        },
        {
            "key": "4e7838a6-fedd-4db6-a456-0ceac8185a24",
            "label": "6162 - MB PROVISION"
        },
        {
            "key": "508580d4-445e-45a7-8447-9d111e6e0f8b",
            "label": "6170 - FBP PAYROLL & RELATED"
        },
        {
            "key": "7a24967c-4fb5-4864-a53a-4763131953d1",
            "label": "6171 - FBP OTHER EXPENSES"
        },
        {
            "key": "64f6f4e7-6caa-4530-9ffb-596c5c0a5cea",
            "label": "6172 - FBP PROVISION"
        },
        {
            "key": "f4dd92f5-3ef3-4d55-b1b1-253d95bbcf3b",
            "label": "6180 - TLP PAYROLL & RELATED"
        },
        {
            "key": "d9fa0a74-fcf2-45a9-a36a-efb43d5e75b5",
            "label": "6181 - TLP OTHER EXPENSES"
        },
        {
            "key": "255a250c-6b2e-491a-a4ee-8ad05f28adc4",
            "label": "6182 - TLP PROVISION"
        },
        {
            "key": "7d0178a5-6040-462b-9105-a183a4128bf6",
            "label": "6190 - BC PAYROLL & RELATED"
        },
        {
            "key": "a18b0837-5cc4-4742-9080-33cd4415556e",
            "label": "6191 - BC OTHER EXPENSES"
        },
        {
            "key": "6a948b29-0d86-46e8-8cb0-11b0f30b294a",
            "label": "6192 - BC PROVISION"
        },
        {
            "key": "42a8a678-5da8-4644-b26b-977350861f35",
            "label": "6200 - LDY PAYROLL & RELATED"
        },
        {
            "key": "a94ed02c-737f-4056-ae73-707f32e5abc0",
            "label": "6201 - LDY OTHER EXPENSES"
        },
        {
            "key": "fe2c9dba-908a-4435-b954-6ce2ebaec17c",
            "label": "6202 - LDY PROVISION"
        },
        {
            "key": "425639df-c5f6-47cd-88d8-7dd9b945cb2f",
            "label": "6210 - SPA PAYROLL & RELATED"
        },
        {
            "key": "fbd01d6b-377f-4379-8491-b483ed1ed76d",
            "label": "6211 - SPA OTHER EXPENSES"
        },
        {
            "key": "5156f809-0ca5-4421-83bd-e6951df9d9a0",
            "label": "6212 - SPA PROVISION"
        },
        {
            "key": "0d3c9d5b-f7cc-417a-a1eb-75d385f9d502",
            "label": "6230 - MOD PAYROLL & RELATED EXPENSES"
        },
        {
            "key": "26b4f9f7-9e9b-431b-a990-5ed7fead02be",
            "label": "6231 - MOD OTHER EXPENSES"
        },
        {
            "key": "0f681405-70ee-494e-80d9-46660a463c47",
            "label": "6232 - MOD PAYROLL & RELATED EXPENSES"
        },
        {
            "key": "55e203a3-c76b-4c65-864d-1aaf07fe93ba",
            "label": "7100 - A&G PAYROLL & RELATED"
        },
        {
            "key": "f4b92be1-a95a-46ca-a979-c2cf78456826",
            "label": "7101 - A&G OTHER EXPENSES"
        },
        {
            "key": "041c1a24-94a3-4e8e-8e71-38f5dc6bb26d",
            "label": "7200 - HRD PAYROLL & RELATED"
        },
        {
            "key": "55cc5a77-7315-49bb-aa3b-9347f9b206cb",
            "label": "7201 - HRD OTHER EXPENSES"
        },
        {
            "key": "6f36d345-6811-4ce1-9565-7e5aae6239ff",
            "label": "7300 - S&M PAYROLL & RELATED"
        },
        {
            "key": "473fe8e5-c982-443c-b247-841079b198ba",
            "label": "7301 - S&M OTHER EXPENSES"
        },
        {
            "key": "2bef6239-ed37-474e-a2a7-bda57da284f5",
            "label": "7400 - PMC PAYROLL & RELATED"
        },
        {
            "key": "5f558c00-7edb-4d51-9e16-e0c3a5bcfee9",
            "label": "7401 - PMC OTHER EXPENSES"
        },
        {
            "key": "52006a6e-3572-40d3-9a0b-eaa6001fc48b",
            "label": "7403 - PMC ENERGY COST"
        },
        {
            "key": "2246a00e-6edf-45ae-b28f-b26e3c942c30",
            "label": "8000 - OTHER DEDUCTION"
        },
        {
            "key": "72836a7f-caa3-46f0-bfe4-36eba0a4d565",
            "label": "9900 - STATISTIC"
        },
        {
            "key": "b520a39a-24a4-4b81-bfad-053e91218b49",
            "label": "9999090000 - test Chart Of Account Insert"
        },
        {
            "key": "b428bcd8-c55d-40bd-8847-4a59a288e1af",
            "label": "9999090000 - test Chart Of Account Insert"
        },
        {
            "key": "10889fad-a074-4c30-8b2c-ae4e1b81b209",
            "label": "9999090000 - test Chart Of Account Insert edit"
        }
    ]
}
 

Request   

POST api/v1/property/room/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: voluptatum

mode   string  optional    

The language. Example: bed_type

Must be one of:
  • room_type
  • bed_type
  • room_status
room_id   string     

uuid of Room use this parameter when get room status list Example: est

Update Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room/status/update" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"cum\",
    \"room_id\": \"amet\",
    \"room_status_id\": \"neque\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room/status/update"
);

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

let body = {
    "property_id": "cum",
    "room_id": "amet",
    "room_status_id": "neque"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room/status/update';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'cum',
            'room_id' => 'amet',
            'room_status_id' => 'neque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room Status",
    "data": {
        "id": "8ee6a1e8-a3c0-4f91-8035-38cfcdd88131",
        "room_type": {
            "id": "c6f2e4e0-6b99-409b-bb48-e65e377dbbec",
            "name": "Standard Balcony"
        },
        "room_bed_type": {
            "id": "075c9027-3d6b-4a79-9e3c-3cb8d6cba34b",
            "name": "Twin"
        },
        "latest_status": {
            "id": "cbe6826b-7b1e-4fd7-a91c-0c6afb415253",
            "name": "Sleep Out"
        },
        "name": "Kamar Baru 101 update",
        "description": "kamar Terletak Di lantai 3",
        "position_order": 10
    }
}
 

Request   

POST api/v1/property/room/status/update

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Room Example: cum

room_id   string     

uuid of Room Example: amet

room_status_id   string     

uuid of Room Status list Example: neque

Property Room Bed Type

Detail Room Bed Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-bed-type/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quaerat\",
    \"room_bed_type_id\": \"aspernatur\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-bed-type/detail"
);

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

let body = {
    "property_id": "quaerat",
    "room_bed_type_id": "aspernatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-bed-type/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quaerat',
            'room_bed_type_id' => 'aspernatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room Bed Type detail",
    "data": {
        "id": "628af586-7e1e-438c-9f06-f32513ea0577",
        "name": "Twin",
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/room-bed-type/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quaerat

room_bed_type_id   string     

uuid of Property Room Status Example: aspernatur

Datatables Room Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-bed-type/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/room-bed-type/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-bed-type/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [
        {
            "id": "e9954628-6ab7-4a55-8605-590e4db0754a",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Single",
            "property_name": "Hotel Dummy"
        },
        {
            "id": "628af586-7e1e-438c-9f06-f32513ea0577",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Twin",
            "property_name": "Hotel Dummy"
        },
        {
            "id": "a9d33065-8207-4c52-9cfa-b69a9c7753b3",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Twin",
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"room_bed_types\" where \"property_id\" = ? and \"room_bed_types\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 2.01
        },
        {
            "query": "select * from \"room_bed_types\" where \"property_id\" = ? and \"room_bed_types\".\"deleted_at\" is null",
            "bindings": [
                1
            ],
            "time": 0.49
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.9
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.82
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"id\" = ? and \"properties\".\"id\" is not null and \"properties\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.67
        }
    ],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/room-bed-type/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Room Bed Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-bed-type" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"delectus\",
    \"name\": \"cum\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-bed-type"
);

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

let body = {
    "property_id": "delectus",
    "name": "cum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-bed-type';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'delectus',
            'name' => 'cum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/property/room-bed-type

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: delectus

name   string     

Name of Room Type Example: cum

Remove Room Bed Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-bed-type/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"quia\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-bed-type/remove"
);

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

let body = {
    "id": "quia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-bed-type/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

POST api/v1/property/room-bed-type/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Bed Type Example: quia

Property Room Status

Detail Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-status-list/details" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"molestias\",
    \"status_id\": \"consequuntur\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-status-list/details"
);

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

let body = {
    "property_id": "molestias",
    "status_id": "consequuntur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-status-list/details';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'molestias',
            'status_id' => 'consequuntur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room status detail",
    "data": {
        "id": "d264e801-8f11-45ed-a52a-773641ffeec8",
        "code": "OC",
        "name": "Occupied Clean",
        "remark": "Occupied Clean",
        "text_color": "#ffffff",
        "background": "#3f9e29",
        "property_id": "77d2db97-2bf9-4192-9205-6002f3ad8339"
    }
}
 

Request   

POST api/v1/property/room-status-list/details

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: molestias

status_id   string     

uuid of Property Room Status Example: consequuntur

Datatables Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-status-list/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/room-status-list/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-status-list/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 11,
    "recordsFiltered": 11,
    "data": [
        {
            "id": "bc1b283d-e530-4459-8fb1-f8dd18a94725",
            "uuid": "bc1b283d-e530-4459-8fb1-f8dd18a94725",
            "property_id": "77d2db97-2bf9-4192-9205-6002f3ad8339",
            "code": "DND",
            "name": "Do not Disturb",
            "remark": "A guest is currently occupied in the room",
            "text_color": "#ffffff",
            "background": "#c68700",
            "is_available": true,
            "created_at": "2024-06-05T04:19:01.000000Z",
            "updated_at": "2024-06-05T04:19:01.000000Z",
            "deleted_at": null,
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "77d2db97-2bf9-4192-9205-6002f3ad8339"
    }
}
 

Request   

POST api/v1/property/room-status-list/datatables

Headers

Authorization        

Example: Bearer ***************************************

Create / Update Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-status-list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"ut\",
    \"property_id\": \"dolore\",
    \"code\": \"tempore\",
    \"name\": \"dicta\",
    \"remark\": \"ducimus\",
    \"text_color\": \"quia\",
    \"background\": \"magnam\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-status-list"
);

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

let body = {
    "id": "ut",
    "property_id": "dolore",
    "code": "tempore",
    "name": "dicta",
    "remark": "ducimus",
    "text_color": "quia",
    "background": "magnam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-status-list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'ut',
            'property_id' => 'dolore',
            'code' => 'tempore',
            'name' => 'dicta',
            'remark' => 'ducimus',
            'text_color' => 'quia',
            'background' => 'magnam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room status",
    "data": {
        "id": "3ff26234-a650-4913-a164-b615f7924024",
        "code": "TES",
        "name": "Test Room Status",
        "remark": "Test Room Status Remark",
        "text_color": "#000000",
        "background": "#ffffff",
        "property_id": "77d2db97-2bf9-4192-9205-6002f3ad8339"
    }
}
 

Request   

POST api/v1/property/room-status-list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property Room Status please don't set parameter if want create new Example: ut

property_id   string     

uuid of Property Example: dolore

code   string     

Code of Room Status Example: tempore

name   string     

Name of Room Status Example: dicta

remark   string     

Description of Room Status Example: ducimus

text_color   string  optional    

position on hex color text of Room Status Example: quia

background   string  optional    

position on hex color background of Room Status Example: magnam

Remove Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-status-list/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"autem\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-status-list/remove"
);

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

let body = {
    "id": "autem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-status-list/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Room Status Default",
    "data": []
}
 

Request   

POST api/v1/property/room-status-list/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Status Example: autem

Property Room Type

Detail Room Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-type/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"voluptatem\",
    \"room_type_id\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-type/detail"
);

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

let body = {
    "property_id": "voluptatem",
    "room_type_id": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'voluptatem',
            'room_type_id' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room Type detail",
    "data": {
        "id": "054cd951-626c-400d-8764-3f28e266d806",
        "name": "Standard Balcony",
        "description": "Standard Balcony Room",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/room-type/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: voluptatem

room_type_id   string     

uuid of Property Room Status Example: aut

Datatables Room Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-type/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/room-type/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 5,
    "recordsFiltered": 5,
    "data": [
        {
            "id": "214310a1-f98b-4edb-9e55-5a1616875318",
            "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
            "name": "Standard",
            "description": "Standar Room",
            "position_order": 1,
            "property_name": "Hotel Dummy"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c"
    }
}
 

Request   

POST api/v1/property/room-type/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Room Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-type" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"possimus\",
    \"property_id\": \"vel\",
    \"name\": \"neque\",
    \"description\": \"Id ad porro reiciendis labore ad expedita dicta.\",
    \"position_order\": 6,
    \"room_amenities\": [
        \"quo\"
    ],
    \"occ_adult\": 19,
    \"occ_child\": 4,
    \"occ_infant\": 13,
    \"occ_default\": 6
}"
const url = new URL(
    "http://localhost/api/v1/property/room-type"
);

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

let body = {
    "id": "possimus",
    "property_id": "vel",
    "name": "neque",
    "description": "Id ad porro reiciendis labore ad expedita dicta.",
    "position_order": 6,
    "room_amenities": [
        "quo"
    ],
    "occ_adult": 19,
    "occ_child": 4,
    "occ_infant": 13,
    "occ_default": 6
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'possimus',
            'property_id' => 'vel',
            'name' => 'neque',
            'description' => 'Id ad porro reiciendis labore ad expedita dicta.',
            'position_order' => 6,
            'room_amenities' => [
                'quo',
            ],
            'occ_adult' => 19,
            'occ_child' => 4,
            'occ_infant' => 13,
            'occ_default' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room type",
    "data": {
        "id": "3696cda0-035d-4827-a406-c14e6fcdf264",
        "name": "Room Type baru",
        "description": "Room Type Baru Description",
        "position_order": 1,
        "property_id": "a10103ae-5162-46c8-a94c-43b8c579e11c",
        "amenities": [
            {
                "category_id": "37b32a73-0c29-4d5a-80bd-1717901d015e",
                "category_name": "Room Amenities",
                "amenities_list": [
                    {
                        "id": "78e7914b-21b5-4bdd-b461-2d3cd72b8f67",
                        "name": "Adapter",
                        "is_select": false
                    },
                    {
                        "id": "05300f15-884d-409e-a396-536929d3cbcf",
                        "name": "Air conditioning",
                        "is_select": true
                    },
                    {
                        "id": "a7d9dedc-cf0b-4d68-9a48-37e14461fdf4",
                        "name": "Air conditioning single room",
                        "is_select": false
                    },
                    {
                        "id": "fd1f09c8-0aca-4f66-b071-cc030a76b36b",
                        "name": "Balcony",
                        "is_select": true
                    },
                    {
                        "id": "dba356b4-5d41-4546-84cf-b08f6585f457",
                        "name": "Bathtub",
                        "is_select": false
                    },
                    {
                        "id": "252b28a2-6add-4a37-85c5-d22598b5e2a1",
                        "name": "Carpeted",
                        "is_select": false
                    },
                    {
                        "id": "f214eca9-262c-4307-979d-3e4bd8de39b4",
                        "name": "Childrens cribs",
                        "is_select": true
                    },
                    {
                        "id": "dc05d273-baec-48b0-acdf-559c39a35f61",
                        "name": "Cleaning products",
                        "is_select": false
                    },
                    {
                        "id": "404dd22a-26e0-4931-b3b2-99333f1e968e",
                        "name": "Clothes rack",
                        "is_select": false
                    },
                    {
                        "id": "3c23f5bb-59ee-4f48-b88a-be1d94681df6",
                        "name": "Desk",
                        "is_select": false
                    },
                    {
                        "id": "bc0c5784-2809-4904-b4e0-bab8b9e1e3d0",
                        "name": "Dryer",
                        "is_select": true
                    },
                    {
                        "id": "99fedee9-ecef-4875-81ce-2a4b9f16cd0a",
                        "name": "Drying rack for clothing",
                        "is_select": false
                    },
                    {
                        "id": "7a8eee4a-155a-4214-b105-68705f2e381b",
                        "name": "Electric blankets",
                        "is_select": false
                    },
                    {
                        "id": "b7757b5e-fa8e-465b-8c3e-f481ed0aba66",
                        "name": "Electric kettle",
                        "is_select": false
                    },
                    {
                        "id": "ce91b7d8-afa1-466d-bfd2-cbc01d107aa8",
                        "name": "Extra long beds (> 6.5 ft)",
                        "is_select": false
                    },
                    {
                        "id": "d0de7cd0-bf27-416f-9317-d65ede231d2f",
                        "name": "Fan",
                        "is_select": false
                    },
                    {
                        "id": "ef8e700d-34cd-46f3-ad83-e40192ff2a8f",
                        "name": "Feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "68d1483f-999a-4155-b2e4-86e0edf8c3ab",
                        "name": "Fireplace",
                        "is_select": false
                    },
                    {
                        "id": "9c1b1920-b3c0-4ce6-8e76-e9a41ceb3b28",
                        "name": "Flat-screen TV",
                        "is_select": false
                    },
                    {
                        "id": "206d34a2-716d-4f08-8895-b18a152c5c5c",
                        "name": "Fold-up bed",
                        "is_select": false
                    },
                    {
                        "id": "feb09933-4210-4e53-a083-60e0ff5f2076",
                        "name": "Hardwood or parquet floors",
                        "is_select": false
                    },
                    {
                        "id": "2d83428c-67f0-424c-b3cf-7b64c7bbde4d",
                        "name": "Heated pool",
                        "is_select": false
                    },
                    {
                        "id": "0e457b6c-27f9-4170-9174-ddcc4a44dbbc",
                        "name": "Heating",
                        "is_select": false
                    },
                    {
                        "id": "a91728b8-4c62-4644-bfc3-8673cdd06c5e",
                        "name": "Hot tub",
                        "is_select": false
                    },
                    {
                        "id": "96fc900e-041f-454c-9aae-45dd06b9a142",
                        "name": "Hypoallergenic",
                        "is_select": false
                    },
                    {
                        "id": "daeea86a-79c0-45b8-81a7-e76333134b3d",
                        "name": "Hypoallergenic pillow",
                        "is_select": false
                    },
                    {
                        "id": "9f577ec2-34e9-4d5c-87df-868bb8ffae4d",
                        "name": "Infinity Pool",
                        "is_select": false
                    },
                    {
                        "id": "0897bc60-47b1-46dd-a822-2bcaeb07d8e8",
                        "name": "Interconnecting rooms",
                        "is_select": false
                    },
                    {
                        "id": "a662f19e-419c-41a9-a0a0-b0c2f00f24dd",
                        "name": "Iron",
                        "is_select": false
                    },
                    {
                        "id": "46a2ee4a-c711-4dd2-a99d-ce6c6ebf3a31",
                        "name": "Ironing facilities",
                        "is_select": false
                    },
                    {
                        "id": "6107ec89-e45a-43f5-ac25-598f20535951",
                        "name": "Mosquito net",
                        "is_select": false
                    },
                    {
                        "id": "1818a164-cfd0-435a-8398-f7ddc11401f4",
                        "name": "Non-feather pillow",
                        "is_select": false
                    },
                    {
                        "id": "1ca6771c-37ae-4ff6-84d0-4277f27365b0",
                        "name": "Pajamas",
                        "is_select": false
                    },
                    {
                        "id": "3e611ae2-edf5-4473-ae7b-c6ab2d6ce946",
                        "name": "Plunge Pool",
                        "is_select": false
                    },
                    {
                        "id": "a13e0b46-0d5e-4503-bc11-af25b568609a",
                        "name": "Pool cover",
                        "is_select": false
                    },
                    {
                        "id": "86854195-b984-415f-925e-bee9172388dc",
                        "name": "Pool towels",
                        "is_select": false
                    },
                    {
                        "id": "b5687b9d-65b2-4d1a-aa22-b2ef72a26685",
                        "name": "Pool with a view",
                        "is_select": false
                    },
                    {
                        "id": "bc8c3d71-115f-45ff-8d98-6d6c7c1ad6b7",
                        "name": "Private pool",
                        "is_select": false
                    },
                    {
                        "id": "7ba1a081-d56b-4608-9d2e-1110fa4cd601",
                        "name": "Rooftop pool",
                        "is_select": false
                    },
                    {
                        "id": "b808b875-492d-458d-a6bc-720372622767",
                        "name": "Safe",
                        "is_select": false
                    },
                    {
                        "id": "d990b235-5121-4b63-ad8c-5ee1721196b4",
                        "name": "Saltwater pool",
                        "is_select": false
                    },
                    {
                        "id": "b38466d0-9e59-4736-8204-0b01d379faa0",
                        "name": "Shallow end",
                        "is_select": false
                    },
                    {
                        "id": "bc33df3d-9f0f-425b-a0df-46ab53e7aa83",
                        "name": "Sitting area",
                        "is_select": false
                    },
                    {
                        "id": "441d79fb-82a4-458a-8bd2-8f91f40f5e2b",
                        "name": "Socket near the bed",
                        "is_select": false
                    },
                    {
                        "id": "30d5b8ec-8f2e-4fc6-899a-5714a9d7be63",
                        "name": "Sofa",
                        "is_select": false
                    },
                    {
                        "id": "06b027ce-138e-4f61-bc25-10165e24cbfd",
                        "name": "Sofa bed",
                        "is_select": false
                    },
                    {
                        "id": "f2d7c256-4b44-48bf-a2a0-04917f773784",
                        "name": "Soundproof",
                        "is_select": false
                    },
                    {
                        "id": "f39be007-f9d0-413a-9434-335578838ac8",
                        "name": "Suit press",
                        "is_select": false
                    },
                    {
                        "id": "892e321b-5422-48d7-8c1d-950486a1ea57",
                        "name": "Tile/Marble floor",
                        "is_select": false
                    },
                    {
                        "id": "7bdbc02c-4cf0-487a-9faa-bbe25447795a",
                        "name": "Toilet paper",
                        "is_select": false
                    },
                    {
                        "id": "5f84000a-c63d-4234-93c7-dcf36434b1ff",
                        "name": "Towels",
                        "is_select": false
                    },
                    {
                        "id": "b8937943-2b2c-4818-8943-cea8f0754fe6",
                        "name": "Trash cans",
                        "is_select": false
                    },
                    {
                        "id": "26ad03ba-c55c-489a-a550-92f19982df53",
                        "name": "View",
                        "is_select": false
                    },
                    {
                        "id": "ec55c805-84d8-4457-b5b8-fec22adf8ec6",
                        "name": "Walk-in closet",
                        "is_select": false
                    },
                    {
                        "id": "8d560293-82fd-4135-99df-761aa540dbb7",
                        "name": "Wardrobe or closet",
                        "is_select": false
                    },
                    {
                        "id": "b0d7bf28-75d2-4f0a-8ad9-baabe2e50608",
                        "name": "Washing machine",
                        "is_select": false
                    },
                    {
                        "id": "17d5df9c-0bb9-4390-8177-9dc05b0ea92c",
                        "name": "Yukata",
                        "is_select": false
                    },
                    {
                        "id": "336a2aa5-fb92-432e-9d15-496f0638fd60",
                        "name": "Air purifiers",
                        "is_select": false
                    },
                    {
                        "id": "f822da69-c6d3-439d-aab2-58c28e09dc39",
                        "name": "Hand sanitizer",
                        "is_select": false
                    },
                    {
                        "id": "932710b6-8c27-4184-b3b3-7df86e2fb36f",
                        "name": "Bolsters",
                        "is_select": false
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/property/room-type

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Type id please not set param if you want create new room type Example: possimus

property_id   string     

uuid of Property Example: vel

name   string     

Name of Room Type Example: neque

description   string     

Description of Room Type Example: Id ad porro reiciendis labore ad expedita dicta.

position_order   integer  optional    

position on order of room type Example: 6

room_amenities   string[]  optional    

uuid of room amenities

occ_adult   integer  optional    

this amount of max occupancy adult for this room type Example: 19

occ_child   integer  optional    

this amount of max occupancy child for this room type Example: 4

occ_infant   integer  optional    

this amount of max occupancy infant for this room type Example: 13

occ_default   integer  optional    

this amount of max occupancy default for this room type Example: 6

Remove Room Type

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-type/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"hic\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-type/remove"
);

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

let body = {
    "id": "hic"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'hic',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Room Type",
    "data": []
}
 

Request   

POST api/v1/property/room-type/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Type Example: hic

Option Room Type Input

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-type/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"amenities\",
    \"room_type_id\": \"sunt\"
}"
const url = new URL(
    "http://localhost/api/v1/property/room-type/dropdown/list"
);

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

let body = {
    "mode": "amenities",
    "room_type_id": "sunt"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'amenities',
            'room_type_id' => 'sunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/property/room-type/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: amenities

Must be one of:
  • amenities
room_type_id   string     

uuid of Room Type Example: sunt

Get Room type Images

Example request:
curl --request GET \
    --get "http://localhost/api/v1/property/room-type/image/cb44f3e4-3aa6-3685-8d65-da695d4c5fb6" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/room-type/image/cb44f3e4-3aa6-3685-8d65-da695d4c5fb6"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/image/cb44f3e4-3aa6-3685-8d65-da695d4c5fb6';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

GET api/v1/property/room-type/image/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Room Type. Example: cb44f3e4-3aa6-3685-8d65-da695d4c5fb6

delete Room Type Images

Example request:
curl --request GET \
    --get "http://localhost/api/v1/property/room-type/image/e70a62ef-2e4d-387b-be39-7fb3261f8bcb/delete" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/property/room-type/image/e70a62ef-2e4d-387b-be39-7fb3261f8bcb/delete"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/image/e70a62ef-2e4d-387b-be39-7fb3261f8bcb/delete';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "msg": "success delete image"
}
 

Request   

GET api/v1/property/room-type/image/{uuid}/delete

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property Images. Example: e70a62ef-2e4d-387b-be39-7fb3261f8bcb

Upload Room Type Images

Example request:
curl --request POST \
    "http://localhost/api/v1/property/room-type/image/upload" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: multipart/form-data" \
    --form "id=laboriosam"\
    --form "image_path[]=@C:\Users\agusb\AppData\Local\Temp\phpA776.tmp" 
const url = new URL(
    "http://localhost/api/v1/property/room-type/image/upload"
);

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

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

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/room-type/image/upload';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'multipart/form-data',
        ],
        'multipart' => [
            [
                'name' => 'id',
                'contents' => 'laboriosam'
            ],
            [
                'name' => 'image_path[]',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpA776.tmp', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "msg": "success upload image"
}
 

Request   

POST api/v1/property/room-type/image/upload

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: multipart/form-data

Body Parameters

id   string     

uuid of room type Example: laboriosam

image_path[]   file  optional    

Example: C:\Users\agusb\AppData\Local\Temp\phpA776.tmp

Property Setup

Datatables Property

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "5e1932e0-7d6c-49e4-989c-6c6512263d8f",
            "property_group_id": "d0988d1d-a3d0-4494-807d-e9777345d4a4",
            "prefix_booking_code": "hotel_dummy-",
            "name": "Hotel Dummy",
            "address": "Jl. Raya Kedampang Gg Loka No.8, Kerobokan Kelod, Kec. Kuta, Kabupaten Badung, Bali 80361",
            "zip_code": "80361",
            "phone": "0817-7689-9998",
            "email_primary": "[email protected]",
            "timezone_id": "204e5eab-01a6-43ae-b93c-983037af6577",
            "area_id": "c71e56f2-f74c-4913-9846-a5998a0e536f",
            "currency_id": "5138063c-f71f-4433-8350-a66d2429a592",
            "logo_path": "",
            "area_name": "Sukawati, Bali, Indonesia",
            "website": "https://www.dummyhotel.com",
            "longitude": "-8.597327",
            "latitude": "115.319776",
            "google_map_url": "https://goo.gl/maps/q9CqJMQFvZ7WYLdH6",
            "sosmed_facebook_url": "#",
            "sosmed_instagram_url": "#",
            "sosmed_youtube_url": "#",
            "sosmed_twitter_url": "#",
            "description": "Welcome to Dummy Hotel, located in the picturesque village of Dummy in dummy. Our boutique hotel features 18 elegantly appointed rooms, each one offering a comfortable and relaxing stay. Our rooms are equipped with modern amenities including air conditioning, flat-screen TV, and complimentary Wi-Fi to ensure a seamless and enjoyable stay. The room has a private balcony with breathtaking views of the surrounding rice paddies and gardens."
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"properties\" where \"properties\".\"deleted_at\" is null",
            "bindings": [],
            "time": 1.78
        },
        {
            "query": "select * from \"properties\" where \"properties\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.57
        },
        {
            "query": "select * from \"areas\" where \"areas\".\"id\" = ? and \"areas\".\"id\" is not null and \"areas\".\"deleted_at\" is null limit 1",
            "bindings": [
                509
            ],
            "time": 1.67
        },
        {
            "query": "select * from \"regions\" where \"regions\".\"id\" = ? and \"regions\".\"id\" is not null and \"regions\".\"deleted_at\" is null limit 1",
            "bindings": [
                17
            ],
            "time": 1.98
        },
        {
            "query": "select * from \"countries\" where \"countries\".\"id\" = ? and \"countries\".\"id\" is not null and \"countries\".\"deleted_at\" is null limit 1",
            "bindings": [
                100
            ],
            "time": 2.12
        },
        {
            "query": "select * from \"property_details\" where \"property_details\".\"property_id\" = ? and \"property_details\".\"property_id\" is not null and \"property_details\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 1.86
        },
        {
            "query": "select * from \"timezones\" where \"timezones\".\"id\" = ? and \"timezones\".\"id\" is not null and \"timezones\".\"deleted_at\" is null limit 1",
            "bindings": [
                243
            ],
            "time": 1.93
        },
        {
            "query": "select * from \"currencies\" where \"currencies\".\"id\" = ? and \"currencies\".\"id\" is not null and \"currencies\".\"deleted_at\" is null limit 1",
            "bindings": [
                90
            ],
            "time": 1.92
        },
        {
            "query": "select * from \"property_groups\" where \"property_groups\".\"id\" = ? and \"property_groups\".\"id\" is not null and \"property_groups\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 1.43
        }
    ],
    "input": []
}
 

Request   

POST api/v1/master/property/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Property

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: multipart/form-data" \
    --form "id=minima"\
    --form "property_group_id=dolor"\
    --form "prefix_booking_code=sit"\
    --form "name=ipsa"\
    --form "address=accusantium"\
    --form "zip_code=voluptatem"\
    --form "phone=corrupti"\
    --form "email_primary=officia"\
    --form "website=ut"\
    --form "area_id=nam"\
    --form "longitude=explicabo"\
    --form "latitude=quia"\
    --form "google_map_url=http://www.krajcik.com/eos-repellat-libero-et-maiores-eligendi"\
    --form "currency_id=magni"\
    --form "timezone_id=odio"\
    --form "sosmed_facebook_url=http://www.beer.com/laudantium-facere-facilis-et-suscipit-modi-reiciendis"\
    --form "sosmed_instagram_url=https://sipes.info/natus-voluptatem-consequatur-dolore-facere.html"\
    --form "sosmed_youtube_url=http://www.mcclure.net/consequatur-ut-laudantium-eos-sed-sint-non-modi"\
    --form "sosmed_twitter_url=http://robel.com/id-autem-quia-aliquam-voluptatum.html"\
    --form "description=Velit voluptatum est temporibus aut iure nobis porro perferendis."\
    --form "coa_default_template_id=consequatur"\
    --form "room_status_template=yes"\
    --form "logo_path=@C:\Users\agusb\AppData\Local\Temp\phpA5DE.tmp" 
const url = new URL(
    "http://localhost/api/v1/master/property"
);

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

const body = new FormData();
body.append('id', 'minima');
body.append('property_group_id', 'dolor');
body.append('prefix_booking_code', 'sit');
body.append('name', 'ipsa');
body.append('address', 'accusantium');
body.append('zip_code', 'voluptatem');
body.append('phone', 'corrupti');
body.append('email_primary', 'officia');
body.append('website', 'ut');
body.append('area_id', 'nam');
body.append('longitude', 'explicabo');
body.append('latitude', 'quia');
body.append('google_map_url', 'http://www.krajcik.com/eos-repellat-libero-et-maiores-eligendi');
body.append('currency_id', 'magni');
body.append('timezone_id', 'odio');
body.append('sosmed_facebook_url', 'http://www.beer.com/laudantium-facere-facilis-et-suscipit-modi-reiciendis');
body.append('sosmed_instagram_url', 'https://sipes.info/natus-voluptatem-consequatur-dolore-facere.html');
body.append('sosmed_youtube_url', 'http://www.mcclure.net/consequatur-ut-laudantium-eos-sed-sint-non-modi');
body.append('sosmed_twitter_url', 'http://robel.com/id-autem-quia-aliquam-voluptatum.html');
body.append('description', 'Velit voluptatum est temporibus aut iure nobis porro perferendis.');
body.append('coa_default_template_id', 'consequatur');
body.append('room_status_template', 'yes');
body.append('logo_path', document.querySelector('input[name="logo_path"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'multipart/form-data',
        ],
        'multipart' => [
            [
                'name' => 'id',
                'contents' => 'minima'
            ],
            [
                'name' => 'property_group_id',
                'contents' => 'dolor'
            ],
            [
                'name' => 'prefix_booking_code',
                'contents' => 'sit'
            ],
            [
                'name' => 'name',
                'contents' => 'ipsa'
            ],
            [
                'name' => 'address',
                'contents' => 'accusantium'
            ],
            [
                'name' => 'zip_code',
                'contents' => 'voluptatem'
            ],
            [
                'name' => 'phone',
                'contents' => 'corrupti'
            ],
            [
                'name' => 'email_primary',
                'contents' => 'officia'
            ],
            [
                'name' => 'website',
                'contents' => 'ut'
            ],
            [
                'name' => 'area_id',
                'contents' => 'nam'
            ],
            [
                'name' => 'longitude',
                'contents' => 'explicabo'
            ],
            [
                'name' => 'latitude',
                'contents' => 'quia'
            ],
            [
                'name' => 'google_map_url',
                'contents' => 'http://www.krajcik.com/eos-repellat-libero-et-maiores-eligendi'
            ],
            [
                'name' => 'currency_id',
                'contents' => 'magni'
            ],
            [
                'name' => 'timezone_id',
                'contents' => 'odio'
            ],
            [
                'name' => 'sosmed_facebook_url',
                'contents' => 'http://www.beer.com/laudantium-facere-facilis-et-suscipit-modi-reiciendis'
            ],
            [
                'name' => 'sosmed_instagram_url',
                'contents' => 'https://sipes.info/natus-voluptatem-consequatur-dolore-facere.html'
            ],
            [
                'name' => 'sosmed_youtube_url',
                'contents' => 'http://www.mcclure.net/consequatur-ut-laudantium-eos-sed-sint-non-modi'
            ],
            [
                'name' => 'sosmed_twitter_url',
                'contents' => 'http://robel.com/id-autem-quia-aliquam-voluptatum.html'
            ],
            [
                'name' => 'description',
                'contents' => 'Velit voluptatum est temporibus aut iure nobis porro perferendis.'
            ],
            [
                'name' => 'coa_default_template_id',
                'contents' => 'consequatur'
            ],
            [
                'name' => 'room_status_template',
                'contents' => 'yes'
            ],
            [
                'name' => 'logo_path',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpA5DE.tmp', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Property",
    "data": {
        "id": "4ad856b3-a493-487d-88e7-7c9d67b378bb",
        "prefix_booking_code": "nagata-booking",
        "name": "Nagata Resort And Retreat",
        "address": "Jl Bisma 20010 tegallang ubud",
        "zip_code": "80361",
        "phone": "+6281805410047",
        "email_primary": "[email protected]",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/e7b2f9d5-71d8-4cc0-9b43-afcf7a80751f",
        "website": "https://nagata.com",
        "longitude": "-8.6425998",
        "latitude": "115.1770584",
        "google_map_url": "https://maps.app.goo.gl/Nruid5SG9R1ekhwR9",
        "sosmed_facebook_url": "facebok",
        "sosmed_instagram_url": "instagram",
        "sosmed_youtube_url": "youtube",
        "sosmed_twitter_url": "twiter",
        "description": null,
        "property_group": {
            "id": "d0988d1d-a3d0-4494-807d-e9777345d4a4",
            "name": "Hotel Dummy Group"
        },
        "area": {
            "id": "5f8e34b9-0207-48b5-af11-1fc90e84d0e4",
            "area_name": "Aceh Selatan",
            "region_name": "Aceh",
            "country_name": "Indonesia"
        },
        "currency": {
            "id": "99ebc31c-bcec-42a3-940c-d586c20558c9",
            "name": "Afghan afghani"
        },
        "timezone": {
            "id": "461ce532-c63f-4ada-8a3b-4a6317b8bff1",
            "name": "Africa/Abidjan"
        }
    }
}
 

Request   

POST api/v1/master/property

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: multipart/form-data

Body Parameters

id   uuid  optional    

value need if want update Property Example: minima

property_group_id   string     

id of Property Groups, if not set group please not set this parameter Example: dolor

prefix_booking_code   string  optional    

set null if not use booking prefix, if not set booking prefix please not set this parameter Example: sit

name   string     

Name of Property Example: ipsa

address   string     

Address of Property Example: accusantium

zip_code   string  optional    

zip code of Property Example: voluptatem

phone   string  optional    

phone of Property Example: corrupti

email_primary   string  optional    

email_primary of Property Example: officia

website   string  optional    

website of Property if not have website please not set parameter Example: ut

area_id   string  optional    

area id of Property Example: nam

longitude   string  optional    

longitude of Property Example: explicabo

latitude   string  optional    

latitude of Property Example: quia

google_map_url   string  optional    

google map url of Property Example: http://www.krajcik.com/eos-repellat-libero-et-maiores-eligendi

currency_id   string  optional    

currency uuid of Property Example: magni

timezone_id   string  optional    

timezone id of Property Example: odio

sosmed_facebook_url   string  optional    

Example: http://www.beer.com/laudantium-facere-facilis-et-suscipit-modi-reiciendis

sosmed_instagram_url   string  optional    

Example: https://sipes.info/natus-voluptatem-consequatur-dolore-facere.html

sosmed_youtube_url   string  optional    

Example: http://www.mcclure.net/consequatur-ut-laudantium-eos-sed-sint-non-modi

sosmed_twitter_url   string  optional    

Example: http://robel.com/id-autem-quia-aliquam-voluptatum.html

description   string  optional    

Example: Velit voluptatum est temporibus aut iure nobis porro perferendis.

logo_path   file  optional    

Example: C:\Users\agusb\AppData\Local\Temp\phpA5DE.tmp

coa_default_template_id   string  optional    

use uuid COA template ID, if update data property please not set this parameter. Example: consequatur

room_status_template   string  optional    

The property set yes if want install default room status. Example: yes

Must be one of:
  • yes
  • no

Remove Property

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"ad\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property/remove"
);

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

let body = {
    "id": "ad"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'ad',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Property",
    "data": []
}
 

Request   

POST api/v1/master/property/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property Example: ad

Property Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/property/details/8c6dcac7-ab52-3482-83e3-66e3e41bb3db" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property/details/8c6dcac7-ab52-3482-83e3-66e3e41bb3db"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/details/8c6dcac7-ab52-3482-83e3-66e3e41bb3db';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Feature Detail",
    "data": {
        "id": "5e1932e0-7d6c-49e4-989c-6c6512263d8f",
        "prefix_booking_code": "hotel_dummy-",
        "name": "Hotel Dummy",
        "address": "Jl. Raya Kedampang Gg Loka No.8, Kerobokan Kelod, Kec. Kuta, Kabupaten Badung, Bali 80361",
        "zip_code": "80361",
        "phone": "0817-7689-9998",
        "email_primary": "[email protected]",
        "logo_path": null,
        "website": "https://www.dummyhotel.com",
        "longitude": "-8.597327",
        "latitude": "115.319776",
        "google_map_url": "https://goo.gl/maps/q9CqJMQFvZ7WYLdH6",
        "sosmed_facebook_url": "#",
        "sosmed_instagram_url": "#",
        "sosmed_youtube_url": "#",
        "sosmed_twitter_url": "#",
        "description": null,
        "property_group": {
            "id": "d0988d1d-a3d0-4494-807d-e9777345d4a4",
            "name": "Hotel Dummy Group"
        },
        "area": {
            "id": "c71e56f2-f74c-4913-9846-a5998a0e536f",
            "area_name": "Sukawati",
            "region_name": "Bali",
            "country_name": "Indonesia"
        },
        "currency": {
            "id": "5138063c-f71f-4433-8350-a66d2429a592",
            "name": "Indonesian rupiah"
        },
        "timezone": {
            "id": "204e5eab-01a6-43ae-b93c-983037af6577",
            "name": "Asia/Jakarta"
        }
    }
}
 

Request   

GET api/v1/master/property/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property. Example: 8c6dcac7-ab52-3482-83e3-66e3e41bb3db

Option Property Input

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"group\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property/dropdown/list"
);

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

let body = {
    "mode": "group"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'group',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart Of Account Template Options Founds",
    "data": [
        {
            "id": "6fe39895-7805-4e41-a241-f19b80ebf6f5",
            "name": "Full Chart Of Account"
        },
        {
            "id": "460a784a-e3d0-4fe1-b699-a55c52d03b69",
            "name": "Simple Chart Of Account"
        }
    ]
}
 

Request   

POST api/v1/master/property/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The property. Example: group

Must be one of:
  • group
  • area
  • currency
  • timezone
  • coa_template

Property Image List

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/property/image/d8576529-3a02-34d1-bd58-05f0eb7c2b1a" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property/image/d8576529-3a02-34d1-bd58-05f0eb7c2b1a"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/image/d8576529-3a02-34d1-bd58-05f0eb7c2b1a';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "imageUrl": "https://lokaroom-api.lc/cdn/asset/546d8d46-2f91-42f2-a09d-2cec099724dc",
        "imageName": "property-images-uokvrytrz2.jpg",
        "mime_type": "image/jpeg"
    },
    {
        "imageUrl": "https://lokaroom-api.lc/cdn/asset/d328834e-5654-462e-8075-ddb87ce40134",
        "imageName": "property-images-ygz96nnq73.jpeg",
        "mime_type": "image/jpeg"
    }
]
 

Request   

GET api/v1/master/property/image/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property. Example: d8576529-3a02-34d1-bd58-05f0eb7c2b1a

Remove Property Images

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/image/delete" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"occaecati\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property/image/delete"
);

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

let body = {
    "id": "occaecati"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/image/delete';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'occaecati',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "msg": "success delete image"
}
 

Request   

POST api/v1/master/property/image/delete

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property Image Example: occaecati

Upload Property Images

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/image/upload" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: multipart/form-data" \
    --form "id=error"\
    --form "image_path[]=@C:\Users\agusb\AppData\Local\Temp\phpA6D9.tmp" 
const url = new URL(
    "http://localhost/api/v1/master/property/image/upload"
);

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

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

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/image/upload';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'multipart/form-data',
        ],
        'multipart' => [
            [
                'name' => 'id',
                'contents' => 'error'
            ],
            [
                'name' => 'image_path[]',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpA6D9.tmp', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "msg": "success upload image"
}
 

Request   

POST api/v1/master/property/image/upload

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: multipart/form-data

Body Parameters

id   string     

uuid of Property Example: error

image_path[]   file  optional    

Example: C:\Users\agusb\AppData\Local\Temp\phpA6D9.tmp

Property Email List

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/property/email/fc7a03c8-6e8b-3705-bd0e-98c36a9a8960" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property/email/fc7a03c8-6e8b-3705-bd0e-98c36a9a8960"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/email/fc7a03c8-6e8b-3705-bd0e-98c36a9a8960';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "imageUrl": "https://lokaroom-api.lc/cdn/asset/546d8d46-2f91-42f2-a09d-2cec099724dc",
        "imageName": "property-images-uokvrytrz2.jpg",
        "mime_type": "image/jpeg"
    },
    {
        "imageUrl": "https://lokaroom-api.lc/cdn/asset/d328834e-5654-462e-8075-ddb87ce40134",
        "imageName": "property-images-ygz96nnq73.jpeg",
        "mime_type": "image/jpeg"
    }
]
 

Request   

GET api/v1/master/property/email/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property. Example: fc7a03c8-6e8b-3705-bd0e-98c36a9a8960

Remove Property Email

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/email/delete" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/property/email/delete"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/email/delete';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "msg": "success delete email"
}
 

Request   

POST api/v1/master/property/email/delete

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Property Images. Example: 1950a4fb-681f-33bf-8a7f-8189b7d444bd

Add / Update Property email

Example request:
curl --request POST \
    "http://localhost/api/v1/master/property/email" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"consectetur\",
    \"property_id\": \"dolorum\",
    \"email\": \"[email protected]\",
    \"recepient_name\": \"id\"
}"
const url = new URL(
    "http://localhost/api/v1/master/property/email"
);

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

let body = {
    "id": "consectetur",
    "property_id": "dolorum",
    "email": "[email protected]",
    "recepient_name": "id"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/property/email';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'consectetur',
            'property_id' => 'dolorum',
            'email' => '[email protected]',
            'recepient_name' => 'id',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "msg": "success update email"
}
 

Request   

POST api/v1/master/property/email

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Property email, please not set if you not update your current list email Example: consectetur

property_id   string     

uuid of Property Example: dolorum

email   string  optional    

email of Property Example: [email protected]

recepient_name   string  optional    

recepient name of Property email Example: id

Property Supplier

Update Supplier Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/supplier" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: multipart/form-data" \
    --form "id=ipsum"\
    --form "property_id=veritatis"\
    --form "name=recusandae"\
    --form "address=voluptas"\
    --form "phone=facilis"\
    --form "[email protected]"\
    --form "website=consequatur"\
    --form "bg_color=earum"\
    --form "fg_color=voluptatem"\
    --form "logo_path=@C:\Users\agusb\AppData\Local\Temp\phpABDE.tmp" \
    --form "icon_path=@C:\Users\agusb\AppData\Local\Temp\phpABDF.tmp" 
const url = new URL(
    "http://localhost/api/v1/property/supplier"
);

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

const body = new FormData();
body.append('id', 'ipsum');
body.append('property_id', 'veritatis');
body.append('name', 'recusandae');
body.append('address', 'voluptas');
body.append('phone', 'facilis');
body.append('email', '[email protected]');
body.append('website', 'consequatur');
body.append('bg_color', 'earum');
body.append('fg_color', 'voluptatem');
body.append('logo_path', document.querySelector('input[name="logo_path"]').files[0]);
body.append('icon_path', document.querySelector('input[name="icon_path"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/supplier';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'multipart/form-data',
        ],
        'multipart' => [
            [
                'name' => 'id',
                'contents' => 'ipsum'
            ],
            [
                'name' => 'property_id',
                'contents' => 'veritatis'
            ],
            [
                'name' => 'name',
                'contents' => 'recusandae'
            ],
            [
                'name' => 'address',
                'contents' => 'voluptas'
            ],
            [
                'name' => 'phone',
                'contents' => 'facilis'
            ],
            [
                'name' => 'email',
                'contents' => '[email protected]'
            ],
            [
                'name' => 'website',
                'contents' => 'consequatur'
            ],
            [
                'name' => 'bg_color',
                'contents' => 'earum'
            ],
            [
                'name' => 'fg_color',
                'contents' => 'voluptatem'
            ],
            [
                'name' => 'logo_path',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpABDE.tmp', 'r')
            ],
            [
                'name' => 'icon_path',
                'contents' => fopen('C:\Users\agusb\AppData\Local\Temp\phpABDF.tmp', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Supplier Property",
    "data": {
        "id": "bbe093cb-9554-4d63-b91e-07ffc1a4caf8",
        "property": {
            "id": "ca301eec-832f-4154-99d7-7089a0ec941f",
            "name": "Hotel Dummy"
        },
        "supplier_no": "SUP-00002",
        "name": "Supplier Sayur",
        "address": "Jl Raya Umalas, kerobokan kelod, kuta utara, badung, bali",
        "phone": "081805410047",
        "email": "[email protected]",
        "website": "supplierdaging.com",
        "logo_path": null,
        "icon_path": null,
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/property/supplier

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: multipart/form-data

Body Parameters

id   string     

uuid of Property Supplier Example: ipsum

property_id   string     

uuid of Property Example: veritatis

name   string     

Name of Supplier Example: recusandae

address   string  optional    

Address of Supplier Example: voluptas

phone   string  optional    

Phone of Supplier Example: facilis

email   string  optional    

E-mail of Supplier Example: [email protected]

website   string  optional    

website of Supplier Example: consequatur

logo_path   file  optional    

logo dimension must width 1350 x height 750 Example: C:\Users\agusb\AppData\Local\Temp\phpABDE.tmp

icon_path   file  optional    

icon dimension ratio 1/1 Example: C:\Users\agusb\AppData\Local\Temp\phpABDF.tmp

bg_color   string  optional    

position on hex color text of Supplier background Example: earum

fg_color   string  optional    

position on hex color text of Supplier Text Example: voluptatem

Detail Supplier property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/supplier/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quo\",
    \"supplier_id\": \"et\"
}"
const url = new URL(
    "http://localhost/api/v1/property/supplier/detail"
);

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

let body = {
    "property_id": "quo",
    "supplier_id": "et"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/supplier/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quo',
            'supplier_id' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/property/supplier/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quo

supplier_id   string     

uuid of Property Agent Example: et

Datatables Supplier Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/supplier/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"voluptas\"
}"
const url = new URL(
    "http://localhost/api/v1/property/supplier/datatables"
);

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

let body = {
    "property_id": "voluptas"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/supplier/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/property/supplier/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: voluptas

Remove Supplier Property

Example request:
curl --request POST \
    "http://localhost/api/v1/property/supplier/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"nesciunt\"
}"
const url = new URL(
    "http://localhost/api/v1/property/supplier/remove"
);

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

let body = {
    "id": "nesciunt"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/supplier/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'nesciunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Property Supplier",
    "data": []
}
 

Request   

POST api/v1/property/supplier/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Supplier Property Example: nesciunt

Option Supplier Input

Example request:
curl --request POST \
    "http://localhost/api/v1/property/supplier/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolor\",
    \"mode\": \"source_list\"
}"
const url = new URL(
    "http://localhost/api/v1/property/supplier/dropdown/list"
);

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

let body = {
    "property_id": "dolor",
    "mode": "source_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/property/supplier/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolor',
            'mode' => 'source_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/property/supplier/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: dolor

mode   string  optional    

The language. Example: source_list

Must be one of:
  • source_list

Room Status Default Setup

Detail Room Status

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/room-status-default-list/details/c1cbd908-97ed-317d-a8ba-1d49e9dbb4d5" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/room-status-default-list/details/c1cbd908-97ed-317d-a8ba-1d49e9dbb4d5"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/room-status-default-list/details/c1cbd908-97ed-317d-a8ba-1d49e9dbb4d5';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Room status default detail",
    "data": {
        "id": "1afc4aef-5cc2-4d48-bf3f-42c96309a2db",
        "code": "DND",
        "name": "Do not Disturb",
        "remark": "A guest is currently occupied in the room",
        "text_color": "#ffffff",
        "background": "#c68700",
        "is_available": true
    }
}
 

Request   

GET api/v1/master/room-status-default-list/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Detail Room Status Default. Example: c1cbd908-97ed-317d-a8ba-1d49e9dbb4d5

Datatables Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/master/room-status-default-list/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/room-status-default-list/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/room-status-default-list/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 11,
    "recordsFiltered": 11,
    "data": [
        {
            "id": "1afc4aef-5cc2-4d48-bf3f-42c96309a2db",
            "code": "DND",
            "name": "Do not Disturb",
            "remark": "A guest is currently occupied in the room",
            "text_color": "#ffffff",
            "background": "#c68700",
            "is_available": true
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"room_status_defaults\" where \"room_status_defaults\".\"deleted_at\" is null",
            "bindings": [],
            "time": 2.05
        },
        {
            "query": "select * from \"room_status_defaults\" where \"room_status_defaults\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.42
        }
    ],
    "input": {
        "mode": "category"
    }
}
 

Request   

POST api/v1/master/room-status-default-list/datatables

Headers

Authorization        

Example: Bearer ***************************************

Create / Update Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/master/room-status-default-list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"architecto\",
    \"code\": \"qui\",
    \"name\": \"fuga\",
    \"remark\": \"assumenda\",
    \"text_color\": \"modi\",
    \"background\": \"error\",
    \"is_available\": false
}"
const url = new URL(
    "http://localhost/api/v1/master/room-status-default-list"
);

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

let body = {
    "id": "architecto",
    "code": "qui",
    "name": "fuga",
    "remark": "assumenda",
    "text_color": "modi",
    "background": "error",
    "is_available": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/room-status-default-list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'architecto',
            'code' => 'qui',
            'name' => 'fuga',
            'remark' => 'assumenda',
            'text_color' => 'modi',
            'background' => 'error',
            'is_available' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Room status default",
    "data": {
        "id": "90284ad8-37fa-4113-8055-0e933f975899",
        "code": "TES",
        "name": "Tes Status Room Default update",
        "remark": "Tes Status Room Default remark update",
        "text_color": "#FFFFFF",
        "background": "#000000",
        "is_available": true
    }
}
 

Request   

POST api/v1/master/room-status-default-list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string  optional    

if you want update the data please set uuid Room Status Default Example: architecto

code   string     

Code of Room Status Example: qui

name   string     

Name of Room Status Example: fuga

remark   string     

Description of Room Status Example: assumenda

text_color   string  optional    

position on hex color text of Room Status Example: modi

background   string  optional    

position on hex color background of Room Status Example: error

is_available   boolean  optional    

position on is available of Room Status on allotment Example: false

Remove Room Status

Example request:
curl --request POST \
    "http://localhost/api/v1/master/room-status-default-list/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"dignissimos\"
}"
const url = new URL(
    "http://localhost/api/v1/master/room-status-default-list/remove"
);

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

let body = {
    "id": "dignissimos"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/room-status-default-list/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'dignissimos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Room Status Default",
    "data": []
}
 

Request   

POST api/v1/master/room-status-default-list/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Room Status Example: dignissimos

SMINT Activity Log

Datatables Book And Link Activity Log list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/activity/bnl-logs/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"status\": \"debug\",
    \"page_no\": 1
}"
const url = new URL(
    "http://localhost/api/v1/smint/activity/bnl-logs/datatables"
);

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

let body = {
    "status": "debug",
    "page_no": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/activity/bnl-logs/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'status' => 'debug',
            'page_no' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/activity/bnl-logs/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

status   string  optional    

search by. Example: debug

Must be one of:
  • debug
  • info
  • notice
  • warning
  • error
  • critical
  • alert
  • emergency
page_no   integer  optional    

number of pagination Example: 1

Datatables Channex Activity Log list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/activity/channex-logs/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"log_id\": \"explicabo\",
    \"status\": \"debug\",
    \"page_no\": 4
}"
const url = new URL(
    "http://localhost/api/v1/smint/activity/channex-logs/datatables"
);

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

let body = {
    "log_id": "explicabo",
    "status": "debug",
    "page_no": 4
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/activity/channex-logs/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'log_id' => 'explicabo',
            'status' => 'debug',
            'page_no' => 4,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/activity/channex-logs/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

log_id   string     

uuid of Activity Log Example: explicabo

status   string  optional    

search by. Example: debug

Must be one of:
  • debug
  • info
  • notice
  • warning
  • error
  • critical
  • alert
  • emergency
page_no   integer  optional    

number of pagination Example: 4

SMINT Availability Update

Datatables Availability Update Log Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/availability-update/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"beatae\",
    \"log_mode\": \"channex\",
    \"status\": 5,
    \"filter_by\": \"from\",
    \"search_date_from\": \"aperiam\",
    \"search_date_to\": \"itaque\",
    \"page_no\": 5
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/availability-update/datatables"
);

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

let body = {
    "property_id": "beatae",
    "log_mode": "channex",
    "status": 5,
    "filter_by": "from",
    "search_date_from": "aperiam",
    "search_date_to": "itaque",
    "page_no": 5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/availability-update/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'beatae',
            'log_mode' => 'channex',
            'status' => 5,
            'filter_by' => 'from',
            'search_date_from' => 'aperiam',
            'search_date_to' => 'itaque',
            'page_no' => 5,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/availability-update/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: beatae

log_mode   enum     

mode of log. Example: channex

Must be one of:
  • bnl
  • channex
status   integer  optional    

with value 1: inprogrees, 2: Success, 3: Errors Example: 5

filter_by   string  optional    

search by. Example: from

Must be one of:
  • from
  • to
search_date_from   string  optional    

with format date Y-m-d Example: aperiam

search_date_to   string  optional    

with format date Y-m-d Example: itaque

page_no   integer  optional    

number of pagination Example: 5

Option Country Maping Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/availability-update/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"eius\",
    \"mode\": \"room_type_list\",
    \"room_type_id\": \"aut\",
    \"date_from\": \"perferendis\",
    \"date_to\": \"dicta\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/availability-update/dropdown/list"
);

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

let body = {
    "property_id": "eius",
    "mode": "room_type_list",
    "room_type_id": "aut",
    "date_from": "perferendis",
    "date_to": "dicta"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/availability-update/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'eius',
            'mode' => 'room_type_list',
            'room_type_id' => 'aut',
            'date_from' => 'perferendis',
            'date_to' => 'dicta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/property/availability-update/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: eius

mode   string  optional    

The language. Example: room_type_list

Must be one of:
  • room_type_list
  • availability_list
room_type_id   string     

uuid of Room Type Property Example: aut

date_from   string  optional    

with format date Y-m-d, this use when mode availability_list Example: perferendis

date_to   string  optional    

with format date Y-m-d, this use when mode availability_list Example: dicta

Availability Sync Request Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/availability-update/sync-request" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"nemo\",
    \"room_type_id\": \"aut\",
    \"date_request_list\": null
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/availability-update/sync-request"
);

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

let body = {
    "property_id": "nemo",
    "room_type_id": "aut",
    "date_request_list": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/availability-update/sync-request';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'nemo',
            'room_type_id' => 'aut',
            'date_request_list' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/availability-update/sync-request

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: nemo

room_type_id   string     

uuid of Room Type Property Example: aut

date_request_list   string[]  optional    

date avilable request.

SMINT Booking BNL list

Datatables Booking BNL list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/booking/bnl/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"totam\",
    \"is_sync\": false,
    \"is_error\": false,
    \"page_no\": 9
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/booking/bnl/datatables"
);

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

let body = {
    "property_id": "totam",
    "is_sync": false,
    "is_error": false,
    "page_no": 9
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/booking/bnl/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'totam',
            'is_sync' => false,
            'is_error' => false,
            'page_no' => 9,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/booking/bnl/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: totam

is_sync   boolean  optional    

this set status sync. Example: false

is_error   boolean  optional    

this set status error. Example: false

page_no   integer  optional    

number of pagination Example: 9

Detail Booking BNL list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/booking/bnl/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_list_id\": \"nulla\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/booking/bnl/detail"
);

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

let body = {
    "booking_list_id": "nulla"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/booking/bnl/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_list_id' => 'nulla',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/booking/bnl/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_list_id   uuid     

this booking list uuid Example: nulla

Re-Sync Booking BNL list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/booking/bnl/need-resync" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_list_id\": [
        \"beatae\"
    ]
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/booking/bnl/need-resync"
);

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

let body = {
    "booking_list_id": [
        "beatae"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/booking/bnl/need-resync';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'booking_list_id' => [
                'beatae',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/booking/bnl/need-resync

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

booking_list_id   string[]     

The uuid of the booking list uuid.

Pull Booking BNL list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/booking/bnl/pulldata" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"similique\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/booking/bnl/pulldata"
);

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

let body = {
    "property_id": "similique"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/booking/bnl/pulldata';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'similique',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/booking/bnl/pulldata

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: similique

SMINT Booking Channex Not Ack list

Datatables Booking Channex Not Ack list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/booking/cnx/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"quis\",
    \"page_no\": 20
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/booking/cnx/datatables"
);

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

let body = {
    "property_id": "quis",
    "page_no": 20
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/booking/cnx/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'quis',
            'page_no' => 20,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/booking/cnx/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: quis

page_no   integer  optional    

number of pagination Example: 20

Re-Sync Booking Channex Not Ack list

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/booking/cnx/need-resync" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"channex_revision_id\": [
        \"provident\"
    ],
    \"property_id\": \"officia\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/booking/cnx/need-resync"
);

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

let body = {
    "channex_revision_id": [
        "provident"
    ],
    "property_id": "officia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/booking/cnx/need-resync';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'channex_revision_id' => [
                'provident',
            ],
            'property_id' => 'officia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/booking/cnx/need-resync

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

channex_revision_id   string[]     

The uuid of the booking list uuid.

property_id   string     

uuid of Property Example: officia

SMINT Channel Settings

Get Authentication Url

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/channel-settings/get-authentication-url" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"provident\",
    \"mode\": \"tempora\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/channel-settings/get-authentication-url"
);

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

let body = {
    "property_id": "provident",
    "mode": "tempora"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/channel-settings/get-authentication-url';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'provident',
            'mode' => 'tempora',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/channel-settings/get-authentication-url

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   uuid     

this Property uuid Example: provident

mode   string     

this mode (bnl, channex) Example: tempora

SMINT Maping Agent

Update Agent Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/agent/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"accusamus\",
    \"sm_property_id\": \"commodi\",
    \"sm_property_agent_list_id\": \"ut\",
    \"sm_property_agent_name\": \"voluptatem\",
    \"bnl_ota_list_id\": \"consequatur\",
    \"channex_ota_list_id\": \"quasi\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/agent/map"
);

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

let body = {
    "map_id": "accusamus",
    "sm_property_id": "commodi",
    "sm_property_agent_list_id": "ut",
    "sm_property_agent_name": "voluptatem",
    "bnl_ota_list_id": "consequatur",
    "channex_ota_list_id": "quasi"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/agent/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'accusamus',
            'sm_property_id' => 'commodi',
            'sm_property_agent_list_id' => 'ut',
            'sm_property_agent_name' => 'voluptatem',
            'bnl_ota_list_id' => 'consequatur',
            'channex_ota_list_id' => 'quasi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/agent/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   string     

The uuid of the channel manager. Example: accusamus

sm_property_id   string     

query of name Mapping Property. Example: commodi

sm_property_agent_list_id   string     

query of uuid Smartloka Property Agent ID. Example: ut

sm_property_agent_name   string     

query of name Smartloka Property Agent. Example: voluptatem

bnl_ota_list_id   string     

query of BNL Ota List UUID. Example: consequatur

channex_ota_list_id   string     

query of Channex Ota List UUID. Example: quasi

Detail Agent Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/agent/map/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"veniam\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/agent/map/detail"
);

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

let body = {
    "map_id": "veniam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/agent/map/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'veniam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/agent/map/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   uuid     

this maping uuid Example: veniam

Datatables Agent Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/agent/map/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"delectus\",
    \"property_agent_id\": \"dolorum\",
    \"page_no\": 6
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/agent/map/datatables"
);

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

let body = {
    "property_id": "delectus",
    "property_agent_id": "dolorum",
    "page_no": 6
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/agent/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'delectus',
            'property_agent_id' => 'dolorum',
            'page_no' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/agent/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: delectus

property_agent_id   string     

Smartloka Property Agent uuid. Example: dolorum

page_no   integer  optional    

number of pagination Example: 6

Option Agent Property Maping Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/agent/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"debitis\",
    \"mode\": \"property_agent_list\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/agent/map/dropdown/list"
);

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

let body = {
    "property_id": "debitis",
    "mode": "property_agent_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/agent/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'debitis',
            'mode' => 'property_agent_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/property/agent/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: debitis

mode   string  optional    

The language. Example: property_agent_list

Must be one of:
  • property_agent_list
  • bnl_ota_list
  • channex_ota_list

SMINT Maping Country

SMINT Maping Country Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/smint/country/map/details/00a29ebd-919a-33a5-a8b4-b60b1f6cb6f7" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/smint/country/map/details/00a29ebd-919a-33a5-a8b4-b60b1f6cb6f7"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/country/map/details/00a29ebd-919a-33a5-a8b4-b60b1f6cb6f7';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{"message":"Success get Feature Detail","data":{"id":"e1679215-52d3-49b2-b369-09e1496f759a","name":"System Features","category"{"id":"796b8a28-e184-49e8-be8c-19fe898e0439","name":"System Setup"}}}
 

Request   

GET api/v1/smint/country/map/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Country. Example: 00a29ebd-919a-33a5-a8b4-b60b1f6cb6f7

SMINT Maping Country Datatable

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/country/map/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/smint/country/map/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/country/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (404):

Show headers
cache-control: no-cache, private
content-type: text/html; charset=utf-8
access-control-allow-origin: *
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <style>
            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-300 { --text-opacity: 1; color: #e2e8f0; color: rgba(226,232,240,var(--text-opacity)) }}
        </style>

        <style>
            body {
                font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            }
        </style>
    </head>
    <body class="antialiased">
        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0" role="main">
            <div class="max-w-xl mx-auto sm:px-6 lg:px-8">
                <div class="flex items-center pt-8 sm:justify-start sm:pt-0">
                    <h1 class="px-4 text-lg dark:text-gray-300 text-gray-700 border-r border-gray-400 tracking-wider">
                        404                    </h1>

                    <div class="ml-4 text-lg dark:text-gray-300 text-gray-700 uppercase tracking-wider">
                        Not Found                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

 

Request   

POST api/v1/smint/country/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Country Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/country/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"country_title\": \"et\",
    \"country_id\": \"vero\",
    \"id\": \"\'********-****-****-****-************\'\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/country/map"
);

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

let body = {
    "country_title": "et",
    "country_id": "vero",
    "id": "'********-****-****-****-************'"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/country/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'country_title' => 'et',
            'country_id' => 'vero',
            'id' => '\'********-****-****-****-************\'',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "0090c2a3-79b6-4e8d-94d1-84fc01bc3eb9",
    "name": "New Country update",
    "phonecode": "+6200"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/smint/country/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

country_title   string     

the name of country Maping. Example: et

country_id   string     

UUID of Country Example: vero

id   string  optional    

if need uuid for update coutry title of country maping . Example: '********-****-****-****-************'

Remove Country Maping

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/country/map/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"at\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/country/map/remove"
);

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

let body = {
    "id": "at"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/country/map/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'at',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Country",
    "data": []
}
 

Request   

POST api/v1/smint/country/map/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Country Example: at

Option Country Maping Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/country/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"country_list\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/country/map/dropdown/list"
);

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

let body = {
    "mode": "country_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/country/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'country_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/country/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: country_list

Must be one of:
  • country_list

SMINT Maping Property

Update Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"iusto\",
    \"sm_property_id\": \"pariatur\",
    \"bnl_property_id\": \"et\",
    \"channex_property_id\": \"id\",
    \"bnl_is_enable\": \"minima\",
    \"channex_is_enable\": \"libero\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/map"
);

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

let body = {
    "map_id": "iusto",
    "sm_property_id": "pariatur",
    "bnl_property_id": "et",
    "channex_property_id": "id",
    "bnl_is_enable": "minima",
    "channex_is_enable": "libero"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'iusto',
            'sm_property_id' => 'pariatur',
            'bnl_property_id' => 'et',
            'channex_property_id' => 'id',
            'bnl_is_enable' => 'minima',
            'channex_is_enable' => 'libero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   string     

The uuid of the channel manager. Example: iusto

sm_property_id   string     

query of Smartloka Property UUID. Example: pariatur

bnl_property_id   string     

query of id BNL Property. Example: et

channex_property_id   string     

query of id Channex Property. Example: id

bnl_is_enable   bolean  optional    

if set true will show property Bnl maping Enable and if false will show property Bnl disable if not set will show all property. Example: minima

channex_is_enable   bolean  optional    

if set true will show property Channex maping Enable and if false will show property Channex disable if not set will show all property. Example: libero

Detail Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/map/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"dignissimos\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/map/detail"
);

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

let body = {
    "map_id": "dignissimos"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/map/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'dignissimos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/map/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   uuid     

this maping uuid Example: dignissimos

Datatables Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/map/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_name\": \"vel\",
    \"bnl_property_id\": \"et\",
    \"channex_property_id\": \"expedita\",
    \"property_id\": \"eos\",
    \"is_enable\": \"in\",
    \"page_no\": 10
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/map/datatables"
);

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

let body = {
    "property_name": "vel",
    "bnl_property_id": "et",
    "channex_property_id": "expedita",
    "property_id": "eos",
    "is_enable": "in",
    "page_no": 10
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_name' => 'vel',
            'bnl_property_id' => 'et',
            'channex_property_id' => 'expedita',
            'property_id' => 'eos',
            'is_enable' => 'in',
            'page_no' => 10,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_name   string     

query of name Mapping Property. Example: vel

bnl_property_id   string     

query of id BNL Property. Example: et

channex_property_id   string     

query of id Channex Property. Example: expedita

property_id   string     

query of Property UUID. Example: eos

is_enable   bolean  optional    

if set true will show property maping Enable and if false will show property disable if not set will show all property. Example: in

page_no   integer  optional    

number of pagination Example: 10

Option Property Maping Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"property_list\",
    \"page_no\": 10,
    \"title\": \"sit\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/map/dropdown/list"
);

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

let body = {
    "mode": "property_list",
    "page_no": 10,
    "title": "sit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'property_list',
            'page_no' => 10,
            'title' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/property/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: property_list

Must be one of:
  • property_list
  • channex_property_list
page_no   integer  optional    

number of pagination this use when mode is channex_property_list Example: 10

title   string  optional    

property title for title need case sensitive this use when mode is channex_property_list Example: sit

SMINT Maping Rate Plan

Update Rate Plan Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/rateplan/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"et\",
    \"property_id\": \"nihil\",
    \"room_type_id\": \"commodi\",
    \"rateplan_id\": \"neque\",
    \"channex_rateplan_id\": \"nihil\",
    \"closed_to_arrival\": false,
    \"closed_to_departure\": true,
    \"stop_sell\": false,
    \"cm_update_detail\": false
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/rateplan/map"
);

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

let body = {
    "map_id": "et",
    "property_id": "nihil",
    "room_type_id": "commodi",
    "rateplan_id": "neque",
    "channex_rateplan_id": "nihil",
    "closed_to_arrival": false,
    "closed_to_departure": true,
    "stop_sell": false,
    "cm_update_detail": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/rateplan/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'et',
            'property_id' => 'nihil',
            'room_type_id' => 'commodi',
            'rateplan_id' => 'neque',
            'channex_rateplan_id' => 'nihil',
            'closed_to_arrival' => false,
            'closed_to_departure' => true,
            'stop_sell' => false,
            'cm_update_detail' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/rateplan/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   string     

The uuid of the channel manager. Example: et

property_id   string     

query of name Mapping Property. Example: nihil

room_type_id   string     

query of uuid Smartloka Room Type ID. Example: commodi

rateplan_id   string     

query of uuid Smartloka Rate Plan ID. Example: neque

channex_rateplan_id   string     

query of Channex room type List UUID. Example: nihil

closed_to_arrival   boolean     

query if CM closed to arrival. Example: false

closed_to_departure   boolean     

query if CM closed to departure. Example: true

stop_sell   boolean     

query if CM stop sell. Example: false

cm_update_detail   boolean     

query if CM update detail. Example: false

Detail Rate Plan Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/rateplan/map/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"mollitia\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/rateplan/map/detail"
);

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

let body = {
    "map_id": "mollitia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/rateplan/map/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Rate Plan detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/rateplan/map/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   uuid     

this maping uuid Example: mollitia

Datatables Rate Plan Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/rateplan/map/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"tempora\",
    \"sm_roomtype_id\": \"omnis\",
    \"sm_rateplan_name\": \"ut\",
    \"sm_rateplan_id\": \"reprehenderit\",
    \"channex_rateplan_id\": \"nulla\",
    \"page_no\": 8
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/rateplan/map/datatables"
);

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

let body = {
    "property_id": "tempora",
    "sm_roomtype_id": "omnis",
    "sm_rateplan_name": "ut",
    "sm_rateplan_id": "reprehenderit",
    "channex_rateplan_id": "nulla",
    "page_no": 8
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/rateplan/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'tempora',
            'sm_roomtype_id' => 'omnis',
            'sm_rateplan_name' => 'ut',
            'sm_rateplan_id' => 'reprehenderit',
            'channex_rateplan_id' => 'nulla',
            'page_no' => 8,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/rateplan/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: tempora

sm_roomtype_id   string     

uuid of Room Type when request rate plan list Example: omnis

sm_rateplan_name   string     

query of name Mapping Property. Example: ut

sm_rateplan_id   string     

query of id Mapping Property. Example: reprehenderit

channex_rateplan_id   string     

query of id Channex Property. Example: nulla

page_no   integer  optional    

number of pagination Example: 8

Remove Rate Plan Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/rateplan/map/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"reiciendis\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/rateplan/map/remove"
);

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

let body = {
    "map_id": "reiciendis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/rateplan/map/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'reiciendis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/rateplan/map/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   uuid     

this maping uuid Example: reiciendis

Option Rate Plan Property Maping Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/rateplan/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"dolorem\",
    \"room_type_id\": \"repudiandae\",
    \"mode\": \"room_type_list\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/rateplan/map/dropdown/list"
);

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

let body = {
    "property_id": "dolorem",
    "room_type_id": "repudiandae",
    "mode": "room_type_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/rateplan/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'dolorem',
            'room_type_id' => 'repudiandae',
            'mode' => 'room_type_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/property/rateplan/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: dolorem

room_type_id   string     

uuid of Room Type when request rate plan list Example: repudiandae

mode   string  optional    

The language. Example: room_type_list

Must be one of:
  • room_type_list
  • rateplan_list
  • channex_rateplan_list

SMINT Maping Room Type

Update Room Type Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/roomtype/map" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"perspiciatis\",
    \"property_id\": \"sit\",
    \"room_type_id\": \"excepturi\",
    \"channex_room_type_id\": \"animi\",
    \"cm_update_detail\": true
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/roomtype/map"
);

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

let body = {
    "map_id": "perspiciatis",
    "property_id": "sit",
    "room_type_id": "excepturi",
    "channex_room_type_id": "animi",
    "cm_update_detail": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/roomtype/map';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'perspiciatis',
            'property_id' => 'sit',
            'room_type_id' => 'excepturi',
            'channex_room_type_id' => 'animi',
            'cm_update_detail' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update Agent Property",
    "data": {
        "id": "4aaf11d1-8008-48a9-a339-e76c0b8a55f6",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "2dae9823-80cc-4dac-aace-505cf5e406ea",
            "name": "Direct"
        },
        "name": "Property Agent Data update",
        "address": "Jl. Raya Andong.",
        "phone": "+6281805410047",
        "email": "[email protected]",
        "website": "www.agentdata.com",
        "logo_path": "https://lokaroom-api.lc/cdn/asset/83d515e0-626b-4c24-bae1-ba316ad9c8b1",
        "icon_path": "https://lokaroom-api.lc/cdn/asset/fc62dd9a-bb01-4681-aff7-8b4f67972580",
        "bg_color": "#000000",
        "fg_color": "#ffffff"
    }
}
 

Request   

POST api/v1/smint/property/roomtype/map

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   string     

The uuid of the channel manager. Example: perspiciatis

property_id   string     

query of name Mapping Property. Example: sit

room_type_id   string     

query of uuid Smartloka Room Type ID. Example: excepturi

channex_room_type_id   string     

query of Channex room type List UUID. Example: animi

cm_update_detail   boolean     

query of Channex room type update detail. Example: true

Detail Room Type Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/roomtype/map/detail" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"est\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/roomtype/map/detail"
);

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

let body = {
    "map_id": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/roomtype/map/detail';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/roomtype/map/detail

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   uuid     

this maping uuid Example: est

Datatables Room Type Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/roomtype/map/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"vel\",
    \"sm_room_type_name\": \"nostrum\",
    \"sm_room_type_id\": \"laudantium\",
    \"channex_room_type_id\": \"ipsa\",
    \"page_no\": 13
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/roomtype/map/datatables"
);

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

let body = {
    "property_id": "vel",
    "sm_room_type_name": "nostrum",
    "sm_room_type_id": "laudantium",
    "channex_room_type_id": "ipsa",
    "page_no": 13
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/roomtype/map/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'vel',
            'sm_room_type_name' => 'nostrum',
            'sm_room_type_id' => 'laudantium',
            'channex_room_type_id' => 'ipsa',
            'page_no' => 13,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/roomtype/map/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: vel

sm_room_type_name   string     

query of name Mapping Property. Example: nostrum

sm_room_type_id   string     

query of id Mapping Property. Example: laudantium

channex_room_type_id   string     

query of id Channex Property. Example: ipsa

page_no   integer  optional    

number of pagination Example: 13

Remove Room Type Property Maping Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/roomtype/map/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"map_id\": \"quia\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/roomtype/map/remove"
);

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

let body = {
    "map_id": "quia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/roomtype/map/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'map_id' => 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Property Agent detail",
    "data": {
        "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
        "property": {
            "id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "name": "Hotel Dummy"
        },
        "agent_source_id": {
            "id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In"
        },
        "name": "Walk In",
        "address": null,
        "phone": null,
        "email": null,
        "website": null,
        "logo_path": null,
        "icon_path": null,
        "bg_color": null,
        "fg_color": null
    }
}
 

Request   

POST api/v1/smint/property/roomtype/map/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

map_id   uuid     

this maping uuid Example: quia

Option Room Type Property Maping Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/roomtype/map/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"ut\",
    \"mode\": \"room_type_list\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/roomtype/map/dropdown/list"
);

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

let body = {
    "property_id": "ut",
    "mode": "room_type_list"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/roomtype/map/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'ut',
            'mode' => 'room_type_list',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/property/roomtype/map/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: ut

mode   string  optional    

The language. Example: room_type_list

Must be one of:
  • room_type_list
  • channex_room_type_list

SMINT Price And Restriction Update

Datatables Price And Restriction Update Smint Log

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/pricerestriction-update/datatables" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"consequatur\",
    \"log_mode\": \"bnl\",
    \"status\": 8,
    \"filter_by\": \"from\",
    \"search_date_from\": \"et\",
    \"search_date_to\": \"voluptatem\",
    \"page_no\": 11
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/pricerestriction-update/datatables"
);

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

let body = {
    "property_id": "consequatur",
    "log_mode": "bnl",
    "status": 8,
    "filter_by": "from",
    "search_date_from": "et",
    "search_date_to": "voluptatem",
    "page_no": 11
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/pricerestriction-update/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'consequatur',
            'log_mode' => 'bnl',
            'status' => 8,
            'filter_by' => 'from',
            'search_date_from' => 'et',
            'search_date_to' => 'voluptatem',
            'page_no' => 11,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/pricerestriction-update/datatables

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: consequatur

log_mode   string  optional    

The language. Example: bnl

Must be one of:
  • bnl
  • channex
status   integer  optional    

with value 1: inprogrees, 2: Success, 3: Errors Example: 8

filter_by   string  optional    

search by. Example: from

Must be one of:
  • from
  • to
search_date_from   string  optional    

with format date Y-m-d Example: et

search_date_to   string  optional    

with format date Y-m-d Example: voluptatem

page_no   integer  optional    

number of pagination Example: 11

Option Price And Restriction Update Smint Input

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/pricerestriction-update/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"est\",
    \"mode\": \"room_type_list\",
    \"room_type_id\": \"consequuntur\",
    \"rate_plan_id\": \"dolores\",
    \"date_from\": \"ea\",
    \"date_to\": \"ipsam\"
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/pricerestriction-update/dropdown/list"
);

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

let body = {
    "property_id": "est",
    "mode": "room_type_list",
    "room_type_id": "consequuntur",
    "rate_plan_id": "dolores",
    "date_from": "ea",
    "date_to": "ipsam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/pricerestriction-update/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'est',
            'mode' => 'room_type_list',
            'room_type_id' => 'consequuntur',
            'rate_plan_id' => 'dolores',
            'date_from' => 'ea',
            'date_to' => 'ipsam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Category Amenities Founds",
    "data": [
        {
            "id": "312df64f-1f9a-4633-b8fe-df8d3188449d",
            "name": "Accessibility"
        },
        {
            "id": "c138c2e9-c743-488d-ad71-2a80beea9625",
            "name": "Bathroom"
        },
        {
            "id": "a7f809eb-8874-43a0-93eb-0c9a35cf59ae",
            "name": "Child and Babies"
        },
        {
            "id": "6ca029cd-d7e4-4f91-bb2d-27a4c506e7a3",
            "name": "Entertainment and Multimedia"
        },
        {
            "id": "6ff7ba3a-7c71-473f-934b-d0bfcf75ebc0",
            "name": "Food and Beverages"
        },
        {
            "id": "ffed46c7-290c-4dcf-a608-4cfaa423560e",
            "name": "Room Amenities"
        },
        {
            "id": "a38a243e-0731-4d46-99bd-a3e7ef05ae55",
            "name": "Room and Views"
        },
        {
            "id": "a3fbc0f5-44e7-4dbb-a898-34c69656a887",
            "name": "Safety"
        },
        {
            "id": "984c82da-bbf7-4dd2-b979-2a3fe49834f9",
            "name": "Services & Extras"
        }
    ]
}
 

Request   

POST api/v1/smint/property/pricerestriction-update/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: est

mode   string  optional    

The language. Example: room_type_list

Must be one of:
  • room_type_list
  • rate_plan_list
  • price_restriction_list
room_type_id   string     

uuid of Room Type Property Example: consequuntur

rate_plan_id   string     

uuid of Rate Plan Property Example: dolores

date_from   string  optional    

with format date Y-m-d, this use when mode availability_list Example: ea

date_to   string  optional    

with format date Y-m-d, this use when mode availability_list Example: ipsam

Price And Restriction Sync Request Smint

Example request:
curl --request POST \
    "http://localhost/api/v1/smint/property/pricerestriction-update/sync-request" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"inventore\",
    \"room_type_id\": \"distinctio\",
    \"rate_plan_id\": \"qui\",
    \"date_request_list\": null
}"
const url = new URL(
    "http://localhost/api/v1/smint/property/pricerestriction-update/sync-request"
);

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

let body = {
    "property_id": "inventore",
    "room_type_id": "distinctio",
    "rate_plan_id": "qui",
    "date_request_list": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/smint/property/pricerestriction-update/sync-request';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'inventore',
            'room_type_id' => 'distinctio',
            'rate_plan_id' => 'qui',
            'date_request_list' => null,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 12,
    "recordsFiltered": 12,
    "data": [
        {
            "id": "df1c867c-7d63-4a20-9615-ec5df4a406ac",
            "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed",
            "agent_source_id": "8b8e2678-8179-40f5-973d-6824ced83590",
            "name": "Walk In",
            "address": null,
            "phone": null,
            "email": null,
            "website": null,
            "logo_path": null,
            "icon_path": null,
            "bg_color": null,
            "fg_color": null,
            "property_name": "Hotel Dummy",
            "source_name": "Walk In"
        }
    ],
    "queries": [],
    "input": {
        "property_id": "cfc616bb-3145-4a98-bb6b-0efb5c8203ed"
    }
}
 

Request   

POST api/v1/smint/property/pricerestriction-update/sync-request

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: inventore

room_type_id   string     

uuid of Room Type Property Example: distinctio

rate_plan_id   string     

uuid of Rate Plan Property Example: qui

date_request_list   string[]  optional    

date avilable request.

Setup Feature

Feature Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/feature/details/fb1b336d-3d75-3a21-8548-e40fcba5ecc8" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/feature/details/fb1b336d-3d75-3a21-8548-e40fcba5ecc8"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature/details/fb1b336d-3d75-3a21-8548-e40fcba5ecc8';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Feature Detail",
    "data": {
        "id": "11808366-f178-4924-a10a-457816950e4b",
        "name": "Reservation",
        "meta_access_content": [
            "can_list",
            "can_view",
            "can_add",
            "can_edit"
        ],
        "category": {
            "id": "081650bb-ca78-4112-94e5-ff2c9b9ccffb",
            "name": "General Settings"
        }
    }
}
 

Request   

GET api/v1/master/feature/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Feature Category. Example: fb1b336d-3d75-3a21-8548-e40fcba5ecc8

Datatables Feature

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/feature/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 28,
    "recordsFiltered": 28,
    "data": [
        {
            "id": "e1679215-52d3-49b2-b369-09e1496f759a",
            "name": "System Features",
            "feature_category": "System Setup",
            "category_id": "796b8a28-e184-49e8-be8c-19fe898e0439"
        },
        {
            "id": "cf9c2145-0575-43fa-b883-906187fe87e6",
            "name": "System Properties",
            "feature_category": "System Setup",
            "category_id": "796b8a28-e184-49e8-be8c-19fe898e0439"
        },
        {
            "id": "aee65784-bc21-4fb4-aebf-da794c21c152",
            "name": "System Users",
            "feature_category": "System Setup",
            "category_id": "796b8a28-e184-49e8-be8c-19fe898e0439"
        },
        {
            "id": "e5278177-69be-4f49-85e6-9dadcd3e0cb5",
            "name": "Room Status Default",
            "feature_category": "System Setup",
            "category_id": "796b8a28-e184-49e8-be8c-19fe898e0439"
        },
        {
            "id": "ef079c02-9e1f-4bd6-9c6b-b8df2e084409",
            "name": "Amenities List Default",
            "feature_category": "System Setup",
            "category_id": "796b8a28-e184-49e8-be8c-19fe898e0439"
        },
        {
            "id": "c89b2f14-77d7-4f9d-9902-860828e2a531",
            "name": "Chart Of Account Default",
            "feature_category": "System Setup",
            "category_id": "796b8a28-e184-49e8-be8c-19fe898e0439"
        },
        {
            "id": "e365e67c-38c5-4e35-9902-0bc41314f5aa",
            "name": "Language Settings",
            "feature_category": "General Settings",
            "category_id": "ca3e1eae-d52b-4708-b10f-6a169ae062ef"
        },
        {
            "id": "1055f92f-79cc-4a48-bfd7-b45583e53592",
            "name": "Currency Settings",
            "feature_category": "General Settings",
            "category_id": "ca3e1eae-d52b-4708-b10f-6a169ae062ef"
        },
        {
            "id": "15ae0de3-b225-4eef-aa61-6363b0b65952",
            "name": "Timezone Settings",
            "feature_category": "General Settings",
            "category_id": "ca3e1eae-d52b-4708-b10f-6a169ae062ef"
        },
        {
            "id": "1128682d-4b65-4c42-a669-0af6834da5d4",
            "name": "Country Settings",
            "feature_category": "General Settings",
            "category_id": "ca3e1eae-d52b-4708-b10f-6a169ae062ef"
        },
        {
            "id": "a8d83be1-e9a7-48ee-8ece-d9b85330ef69",
            "name": "Region Settings",
            "feature_category": "General Settings",
            "category_id": "ca3e1eae-d52b-4708-b10f-6a169ae062ef"
        },
        {
            "id": "72e4fa06-7a4c-4174-960a-56e99013e1dd",
            "name": "Area Settings",
            "feature_category": "General Settings",
            "category_id": "ca3e1eae-d52b-4708-b10f-6a169ae062ef"
        },
        {
            "id": "4e500f6d-a1a9-40b5-94ac-2c5e9467859d",
            "name": "Room Amenities List",
            "feature_category": "Rooms Setup",
            "category_id": "ea87f6ce-0943-478c-8487-ed54e5f74d71"
        },
        {
            "id": "a7ebb4f1-b0bb-49cf-8cdb-cf76e444f753",
            "name": "Room Status List",
            "feature_category": "Rooms Setup",
            "category_id": "ea87f6ce-0943-478c-8487-ed54e5f74d71"
        },
        {
            "id": "f2e1e3eb-dc44-442d-9692-7de0ed0752c5",
            "name": "Room Bed Type List",
            "feature_category": "Rooms Setup",
            "category_id": "ea87f6ce-0943-478c-8487-ed54e5f74d71"
        },
        {
            "id": "8b8c9b65-90b1-4552-99a7-e4d351d3abeb",
            "name": "Room Type",
            "feature_category": "Rooms Setup",
            "category_id": "ea87f6ce-0943-478c-8487-ed54e5f74d71"
        },
        {
            "id": "851cecd1-618d-4210-b4c5-99c8d87d1fcc",
            "name": "Rooms List",
            "feature_category": "Rooms Setup",
            "category_id": "ea87f6ce-0943-478c-8487-ed54e5f74d71"
        },
        {
            "id": "5edbdcdc-0a0b-41d0-9e7e-359a1d060992",
            "name": "Room Rates",
            "feature_category": "Rooms Setup",
            "category_id": "ea87f6ce-0943-478c-8487-ed54e5f74d71"
        },
        {
            "id": "a942fc45-1e20-4163-ae74-28e2d5975234",
            "name": "Reservation",
            "feature_category": "Front Office",
            "category_id": "13efa3ea-6460-484a-b5fa-ce60fceaeb73"
        },
        {
            "id": "e266ea00-5e1a-4ea2-b2b7-bff12285d085",
            "name": "Room Available",
            "feature_category": "Front Office",
            "category_id": "13efa3ea-6460-484a-b5fa-ce60fceaeb73"
        },
        {
            "id": "5d2a339a-4d38-44d5-b7a2-e6e4e50a8899",
            "name": "Night Audit",
            "feature_category": "Front Office",
            "category_id": "13efa3ea-6460-484a-b5fa-ce60fceaeb73"
        },
        {
            "id": "35195a52-30ed-4268-99c4-f4bf612d5153",
            "name": "Guest Profile",
            "feature_category": "Front Office",
            "category_id": "13efa3ea-6460-484a-b5fa-ce60fceaeb73"
        },
        {
            "id": "d1e504cc-d1a5-4031-86c6-b1d4a00a9a26",
            "name": "Guest List Daily",
            "feature_category": "Front Office",
            "category_id": "13efa3ea-6460-484a-b5fa-ce60fceaeb73"
        },
        {
            "id": "01c4381a-a87d-4882-80cd-34dc70ca06f6",
            "name": "Guest Payment",
            "feature_category": "Front Office",
            "category_id": "13efa3ea-6460-484a-b5fa-ce60fceaeb73"
        },
        {
            "id": "4bb6ed49-36bb-4ba4-ab4c-c6c61e426c01",
            "name": "Chart Of Account",
            "feature_category": "Back Office",
            "category_id": "45923ada-0ef0-4d61-a063-87785a2d10ea"
        },
        {
            "id": "b98d6249-98c1-4f11-9cbb-074a1e8d1f61",
            "name": "Tax And Service List",
            "feature_category": "Back Office",
            "category_id": "45923ada-0ef0-4d61-a063-87785a2d10ea"
        },
        {
            "id": "46526085-2782-4dfc-9739-0527c39cdd2f",
            "name": "Agent Property List",
            "feature_category": "Back Office",
            "category_id": "45923ada-0ef0-4d61-a063-87785a2d10ea"
        },
        {
            "id": "ebff526a-c417-42ab-91ad-bda1bc440e75",
            "name": "Payment Options List",
            "feature_category": "Back Office",
            "category_id": "45923ada-0ef0-4d61-a063-87785a2d10ea"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"features\" where \"features\".\"deleted_at\" is null",
            "bindings": [],
            "time": 1.9
        },
        {
            "query": "select * from \"features\" where \"features\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.55
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 2.02
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.5
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.43
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.38
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                1
            ],
            "time": 0.57
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                2
            ],
            "time": 0.47
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                2
            ],
            "time": 0.41
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                2
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                2
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                2
            ],
            "time": 0.76
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                2
            ],
            "time": 0.7
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                3
            ],
            "time": 0.6
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                3
            ],
            "time": 0.5
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                3
            ],
            "time": 0.51
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                3
            ],
            "time": 0.4
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                3
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                3
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                4
            ],
            "time": 0.36
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                4
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                4
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                4
            ],
            "time": 0.37
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                4
            ],
            "time": 0.36
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                4
            ],
            "time": 0.36
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                5
            ],
            "time": 0.36
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                5
            ],
            "time": 0.36
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                5
            ],
            "time": 0.36
        },
        {
            "query": "select * from \"feature_categories\" where \"feature_categories\".\"id\" = ? and \"feature_categories\".\"id\" is not null and \"feature_categories\".\"deleted_at\" is null limit 1",
            "bindings": [
                5
            ],
            "time": 0.81
        }
    ],
    "input": []
}
 

Request   

POST api/v1/master/feature/datatables

Headers

Authorization        

Example: Bearer ***************************************

Add / Update Feature

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"sed\",
    \"category_id\": 7,
    \"meta_access_content\": [
        []
    ],
    \"id\": \"quod\"
}"
const url = new URL(
    "http://localhost/api/v1/master/feature"
);

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

let body = {
    "name": "sed",
    "category_id": 7,
    "meta_access_content": [
        []
    ],
    "id": "quod"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'sed',
            'category_id' => 7,
            'meta_access_content' => [
                [],
            ],
            'id' => 'quod',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Feature Data",
    "data": {
        "id": "11808366-f178-4924-a10a-457816950e4b",
        "name": "Reservation",
        "meta_access_content": [
            "can_list",
            "can_view",
            "can_add",
            "can_edit"
        ],
        "category": {
            "id": "081650bb-ca78-4112-94e5-ff2c9b9ccffb",
            "name": "General Settings"
        }
    }
}
 

Request   

POST api/v1/master/feature

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of feature Example: sed

category_id   integer     

valid of feature category id Example: 7

meta_access_content   object[]  optional    

requeired. Examp:["can_list","can_view","can_add","can_edit"]

id   uuid  optional    

value need if want update name of feature Example: quod

Remove Feature

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"quo\"
}"
const url = new URL(
    "http://localhost/api/v1/master/feature/remove"
);

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

let body = {
    "id": "quo"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'quo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Feature",
    "data": []
}
 

Request   

POST api/v1/master/feature/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Feature Example: quo

Option Editor feature Input

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"category\",
    \"query\": \"consequuntur\"
}"
const url = new URL(
    "http://localhost/api/v1/master/feature/dropdown/list"
);

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

let body = {
    "mode": "category",
    "query": "consequuntur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'category',
            'query' => 'consequuntur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Timezone Founds",
    "data": [
        {
            "id": "59af78ff-d35f-40e4-8220-ff67af5d07a3",
            "name": "Africa/Abidjan"
        },
        {
            "id": "f311336a-f1ee-4c7b-9e1e-7d6e61c67e41",
            "name": "Africa/Accra"
        },
        {
            "id": "a9454d6b-abe6-459b-8b97-e710df56c993",
            "name": "Africa/Addis_Ababa"
        }
    ]
}
 

Request   

POST api/v1/master/feature/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: category

Must be one of:
  • category
query   string  optional    

this using for in case option have filter Example: consequuntur

Setup Feature Category

Feature Category Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/feature-category/details/5dfda8c7-8de2-3764-8495-f957cc48143d" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/feature-category/details/5dfda8c7-8de2-3764-8495-f957cc48143d"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature-category/details/5dfda8c7-8de2-3764-8495-f957cc48143d';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get Feature Category Detail",
    "data": {
        "id": "9814fe6b-1e6a-4f67-8b16-892a18ccfa9e",
        "name": "General Settings",
        "feature": [
            {
                "id": "269bed18-0f45-43da-ab94-6c4e8bf0d2a1",
                "name": "Language Settings"
            },
            {
                "id": "0841438a-ee90-4a9b-bb3f-e653a08c9363",
                "name": "Currency Settings"
            },
            {
                "id": "8c05e2fc-0f09-414d-953e-f57b80d5d798",
                "name": "Timezone Settings"
            },
            {
                "id": "4f4f4b1e-16fb-4227-854c-9fd439c7df22",
                "name": "Country Settings"
            },
            {
                "id": "b29c1382-db2a-4db7-8e89-30ccdf520830",
                "name": "Region Settings"
            },
            {
                "id": "c5ae438b-1e5a-4c8d-a6c0-2988b70ee922",
                "name": "Area Settings"
            }
        ]
    }
}
 

Request   

GET api/v1/master/feature-category/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of Feature Category. Example: 5dfda8c7-8de2-3764-8495-f957cc48143d

Datatables Feature Category

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature-category/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/feature-category/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature-category/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 6,
    "recordsFiltered": 6,
    "data": [
        {
            "id": "0689f1a6-0fc3-401d-a689-bb3b0f37bc84",
            "name": "System Setup"
        },
        {
            "id": "9814fe6b-1e6a-4f67-8b16-892a18ccfa9e",
            "name": "General Settings"
        },
        {
            "id": "fd38d08f-7926-4f38-95e2-bb69bdc00b20",
            "name": "Rooms Setup"
        },
        {
            "id": "7485a2dc-ada0-4bdf-894f-9f58c867e7ae",
            "name": "Front Office"
        },
        {
            "id": "50ad4d03-740f-436d-ba28-5bb11c2cd657",
            "name": "Back Office"
        },
        {
            "id": "6f675faa-dbd1-420f-9620-e73eb2b8046a",
            "name": "Others"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"feature_categories\"",
            "bindings": [],
            "time": 1.9
        },
        {
            "query": "select \"id\", \"uuid\", \"name\" from \"feature_categories\"",
            "bindings": [],
            "time": 0.47
        }
    ],
    "input": []
}
 

Request   

POST api/v1/master/feature-category/datatables

Headers

Authorization        

Example: Bearer ***************************************

Update Feature Category

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature-category" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"name\": \"reiciendis\",
    \"id\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/master/feature-category"
);

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

let body = {
    "name": "reiciendis",
    "id": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature-category';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'name' => 'reiciendis',
            'id' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update Feature Caategory Data",
    "data": {
        "id": "7b4e994f-55b3-4585-95aa-7c84eb373035",
        "name": "Test Feature Category Data edit",
        "feature": []
    }
}
 

Request   

POST api/v1/master/feature-category

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

name   string     

the name of feature category Example: reiciendis

id   string  optional    

uuid if need update or remove name of feature category Example: aut

Remove Feature Category

Example request:
curl --request POST \
    "http://localhost/api/v1/master/feature-category/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"ut\"
}"
const url = new URL(
    "http://localhost/api/v1/master/feature-category/remove"
);

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

let body = {
    "id": "ut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/feature-category/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success remove Feature Category",
    "data": []
}
 

Request   

POST api/v1/master/feature-category/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of Feature Category Example: ut

Setup User Category Feature Default

Category Feature Details

Example request:
curl --request GET \
    --get "http://localhost/api/v1/master/user-category-feature-default/details/f2773d0b-7c10-3d45-a0b3-c8300e0cf659" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/master/user-category-feature-default/details/f2773d0b-7c10-3d45-a0b3-c8300e0cf659"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/user-category-feature-default/details/f2773d0b-7c10-3d45-a0b3-c8300e0cf659';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "User Category Feature Found",
    "data": {
        "id": "133bb77d-8c09-44e2-a485-6314a1525b33",
        "name": "Corporate Admin",
        "feature_list": [
            {
                "id": "ff5bfbae-3fba-4c19-b232-7fd0be304d22",
                "name": "Properties",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit"
                ]
            },
            {
                "id": "1a7ad5d6-8228-466a-97e8-89930e864ad2",
                "name": "Users",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit"
                ]
            },
            {
                "id": "0c415b9a-c407-4f31-b30b-08a064abf4c2",
                "name": "Room Amenities List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "47c27a0e-f7f2-4953-b214-6b4a25abc221",
                "name": "Room Status List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "7d2f46c4-2589-4c7e-a6bd-151e2dc6fbba",
                "name": "Room Bed Type List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "95c44f89-fc12-47a7-b267-eb1d74c47571",
                "name": "Room Type",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "13a6db9c-7c15-4b99-a4bf-209856459d61",
                "name": "Rooms List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "9e261752-53f1-4842-a2a2-5d065b270e92",
                "name": "Room Rates",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "11808366-f178-4924-a10a-457816950e4b",
                "name": "Reservation",
                "meta_access": [
                    "can_list",
                    "can_reservation_chart",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "f2ccb171-6658-44b5-8dbc-69e73993df92",
                "name": "Room Available",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "4ad4e368-eb1b-4ed3-b43d-4bbc5c7cf5ef",
                "name": "Night Audit",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "6f9edce2-82a1-477e-b664-66d59dbf84c0",
                "name": "Guest Profile",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "28be0f1b-9be9-41bf-903a-8636d8ff0c11",
                "name": "Guest List Daily",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "829072fb-8605-435b-bede-f3acb937a074",
                "name": "Guest Payment",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "04adb9e4-73ee-45f8-91d8-e5c8455e7db0",
                "name": "Chart Of Account",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "c2277eb7-3a07-49b0-a47e-b3e1ecb91aa3",
                "name": "Tax And Service List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "daf52f12-7e9a-497c-b928-9fa76786ecd8",
                "name": "Agent Property List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            },
            {
                "id": "8e1c9feb-b165-4b62-81f8-84a9da48cef2",
                "name": "Payment Options List",
                "meta_access": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            }
        ]
    }
}
 

Request   

GET api/v1/master/user-category-feature-default/details/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of User Category. Example: f2773d0b-7c10-3d45-a0b3-c8300e0cf659

Update User Category Feature Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/user-category-feature-default" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"user_category_id\": 4,
    \"feature_list\": [
        {
            \"id\": \"b0df0b1b-5776-4074-bb2b-0a4263962449\",
            \"name\": \"Language Settings\",
            \"meta_access\": {
                \"can_list\": false,
                \"can_view\": false,
                \"can_add\": false,
                \"can_edit\": false,
                \"can_delete\": false
            }
        },
        {
            \"id\": \"0663f8b2-f815-4826-a68b-8606f0475c00\",
            \"name\": \"Currency Settings\",
            \"meta_access\": {
                \"can_list\": false,
                \"can_view\": false,
                \"can_add\": false,
                \"can_edit\": false,
                \"can_delete\": false
            }
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/master/user-category-feature-default"
);

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

let body = {
    "user_category_id": 4,
    "feature_list": [
        {
            "id": "b0df0b1b-5776-4074-bb2b-0a4263962449",
            "name": "Language Settings",
            "meta_access": {
                "can_list": false,
                "can_view": false,
                "can_add": false,
                "can_edit": false,
                "can_delete": false
            }
        },
        {
            "id": "0663f8b2-f815-4826-a68b-8606f0475c00",
            "name": "Currency Settings",
            "meta_access": {
                "can_list": false,
                "can_view": false,
                "can_add": false,
                "can_edit": false,
                "can_delete": false
            }
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/user-category-feature-default';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
            $o = [
                clone (($p = &\Symfony\Component\VarExporter\Internal\Registry::$prototypes)['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')),
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
            ],
            null,
            [
                'stdClass' => [
                    'id' => [
                        'b0df0b1b-5776-4074-bb2b-0a4263962449',
                        2 => '0663f8b2-f815-4826-a68b-8606f0475c00',
                    ],
                    'name' => [
                        'Language Settings',
                        2 => 'Currency Settings',
                    ],
                    'meta_access' => [
                        $o[1],
                        2 => $o[3],
                    ],
                    'can_list' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_view' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_add' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_edit' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_delete' => [
                        1 => false,
                        3 => false,
                    ],
                ],
            ],
            [
                'user_category_id' => 4,
                'feature_list' => [
                    $o[0],
                    $o[2],
                ],
            ],
            []
        ),
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update User Category Feature Default",
    "data": {
        "id": "2ec686f7-f2d6-4762-8adf-4565ab89dd4e",
        "name": "Property User",
        "feature_list": [
            {
                "id": "2d0b8954-c8e1-4460-b0f3-d5ab153d487c",
                "name": "Language Settings",
                "meta_access": [
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/master/user-category-feature-default

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

user_category_id   integer     

valid of User category id Example: 4

feature_list   object[]  optional    

list of feature

Option Input User Category Feature Defaults

Example request:
curl --request POST \
    "http://localhost/api/v1/master/user-category-feature-default/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"featurelist\",
    \"id\": \"ipsum\"
}"
const url = new URL(
    "http://localhost/api/v1/master/user-category-feature-default/dropdown/list"
);

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

let body = {
    "mode": "featurelist",
    "id": "ipsum"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/master/user-category-feature-default/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'featurelist',
            'id' => 'ipsum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{"message":"Feature Option List Founds","data":[{"id":"66c3f94d-acbd-41fc-9b7c-89759573323e","name":"General Settings","feature_list":[{"id":"465dffb2-b3f0-4d7d-8b44-b220bd271377","name":"Language Settings","meta_access":{"can_list":false,"can_view":false,"can_add":false,"can_edit":false,"can_delete":false}},{"id":"adb5ea32-9488-411f-9627-7f4498708384","name":"Currency Settings","meta_access":{"can_list":false,"can_view":false,"can_add":false,"can_edit":false,"can_delete":false}},{"id":"558910e7-6973-40c9-bdeb-111083d7c4d1","name":"Timezone Settings","meta_access":{"can_list":false,"can_view":false,"can_add":false,"can_edit":false,"can_delete":false}},{"id":"b94f8433-fb85-4cde-984e-f0b0e69c04cb","name":"Country Settings","meta_access":{"can_list":false,"can_view":false,"can_add":false,"can_edit":false,"can_delete":false}},{"id":"f1fbe937-445e-4a69-992f-a2a2d8f26995","name":"Region Settings","meta_access":{"can_list":false,"can_view":false,"can_add":false,"can_edit":false,"can_delete":false}},{"id":"e0c623f1-84fb-4d7d-b50b-97910ae333dd","name":"Area Settings","meta_access":{"can_list":false,"can_view":false,"can_add":false,"can_edit":false,"can_delete":false}}]},]}
 

Request   

POST api/v1/master/user-category-feature-default/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: featurelist

Must be one of:
  • category
  • featurelist
id   string  optional    

uuid User Category required if mode featurelist Example: ipsum

System Dashboard

Dashboard Detail

Example request:
curl --request POST \
    "http://localhost/api/v1/misc/dashboard/data" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"all\",
    \"property_id\": \"aut\"
}"
const url = new URL(
    "http://localhost/api/v1/misc/dashboard/data"
);

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

let body = {
    "mode": "all",
    "property_id": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/misc/dashboard/data';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'all',
            'property_id' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Timezone Founds",
    "data": [
        {
            "id": "59af78ff-d35f-40e4-8220-ff67af5d07a3",
            "name": "Africa/Abidjan"
        },
        {
            "id": "f311336a-f1ee-4c7b-9e1e-7d6e61c67e41",
            "name": "Africa/Accra"
        },
        {
            "id": "a9454d6b-abe6-459b-8b97-e710df56c993",
            "name": "Africa/Addis_Ababa"
        }
    ]
}
 

Request   

POST api/v1/misc/dashboard/data

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The language. Example: all

Must be one of:
  • all
property_id   string     

uuid of Property Example: aut

User Authentication

Get User Authentication Token

Example request:
curl --request POST \
    "http://localhost/api/v1/auth/gettoken" \
    --header "Content-Type: application/json" \
    --data "{
    \"email\": \"\'[email protected]\'\",
    \"password\": \"M$+j~PhsK%eBCyeREvm\"
}"
const url = new URL(
    "http://localhost/api/v1/auth/gettoken"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "'[email protected]'",
    "password": "M$+j~PhsK%eBCyeREvm"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/auth/gettoken';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'email' => '\'[email protected]\'',
            'password' => 'M$+j~PhsK%eBCyeREvm',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": true,
    "message": "Successfully get token access",
    "token": "4|zXDYofbLV9hgotCyc3TzNnx6wWnFuQNbCckDZGe8"
}
 

Example response (401):


{
    "status": false,
    "message": "Email & Password does not match with our record."
}
 

Request   

POST api/v1/auth/gettoken

Headers

Content-Type        

Example: application/json

Body Parameters

email   string     

The email of the user. Example: '[email protected]'

password   string     

The password of the user. Example: M$+j~PhsK%eBCyeREvm

User Google 2 FA Validation

Example request:
curl --request POST \
    "http://localhost/api/v1/auth/google2fa/validation" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"email\": \"\'[email protected]\'\",
    \"secret\": \"eos\"
}"
const url = new URL(
    "http://localhost/api/v1/auth/google2fa/validation"
);

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

let body = {
    "email": "'[email protected]'",
    "secret": "eos"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/auth/google2fa/validation';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'email' => '\'[email protected]\'',
            'secret' => 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 5
x-ratelimit-remaining: 4
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Sorry You Unauthenticated Access.."
}
 

Request   

POST api/v1/auth/google2fa/validation

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

email   string     

The email of the user. Example: '[email protected]'

secret   string     

The google OTP Code of the user. Example: eos

User Check Validation token

Example request:
curl --request GET \
    --get "http://localhost/api/v1/auth/checkvalidtoken" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/auth/checkvalidtoken"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/auth/checkvalidtoken';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": true,
    "message": "success access via token"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

GET api/v1/auth/checkvalidtoken

Headers

Authorization        

Example: Bearer ***************************************

User Enable / Disable google2fa

Example request:
curl --request POST \
    "http://localhost/api/v1/auth/google2fa" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"status\": 6
}"
const url = new URL(
    "http://localhost/api/v1/auth/google2fa"
);

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

let body = {
    "status": 6
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/auth/google2fa';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'status' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": true,
    "secret": "ROXTGX2RYNKYB7L5",
    "appname": "Loka Room",
    "qr_code_url": "otpauth://totp/Loka%20Room:master%40lokaroom.net?secret=ROXTGX2RYNKYB7L5&issuer=Loka%20Room&algorithm=SHA1&digits=6&period=30"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/auth/google2fa

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

status   integer     

value 1 for enable value 0 for disable Example: 6

Get User Authenticated Detail

Example request:
curl --request GET \
    --get "http://localhost/api/v1/auth/getaccount" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/auth/getaccount"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/auth/getaccount';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success get user Account login",
    "data": {
        "detail": {
            "name": "Master User Api",
            "shortname": "Master Use...",
            "phone": null,
            "category": "System Admin",
            "timezone": null,
            "language": null,
            "email": "[email protected]",
            "google2fa_secret": null,
            "google2fa_is_active": false,
            "properties": [
                {
                    "id": "31db6935-0f23-4939-b31f-d4bd1a1af828",
                    "name": "Hotel Dummy"
                }
            ],
            "features": {
                "language_settings": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "currency_settings": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "timezone_settings": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "country_settings": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "region_settings": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "area_settings": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "features_categories": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "user_category_features_defaults": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "properties": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "users": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_status_default": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "amenities_list_default": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "chart_of_account_default": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "chart_of_account_template": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_amenities_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_status_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_bed_type_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_type": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "rooms_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_rates": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "reservation": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "room_available": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "night_audit": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "guest_profile": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "guest_list_daily": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "guest_payment": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "chart_of_account": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "tax_and_service_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "agent_property_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ],
                "payment_options_list": [
                    "can_list",
                    "can_view",
                    "can_add",
                    "can_edit",
                    "can_delete"
                ]
            }
        }
    }
}
 

Request   

GET api/v1/auth/getaccount

Headers

Authorization        

Example: Bearer ***************************************

active Current Property

Example request:
curl --request POST \
    "http://localhost/api/v1/auth/active-current-property" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"fuga\"
}"
const url = new URL(
    "http://localhost/api/v1/auth/active-current-property"
);

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

let body = {
    "property_id": "fuga"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/auth/active-current-property';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'fuga',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": true,
    "secret": "ROXTGX2RYNKYB7L5",
    "appname": "Loka Room",
    "qr_code_url": "otpauth://totp/Loka%20Room:master%40lokaroom.net?secret=ROXTGX2RYNKYB7L5&issuer=Loka%20Room&algorithm=SHA1&digits=6&period=30"
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Request   

POST api/v1/auth/active-current-property

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property Example: fuga

User Setup

Datatables User

Example request:
curl --request POST \
    "http://localhost/api/v1/user/datatables" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/user/datatables"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/datatables';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "7342b731-c0fc-44c0-a55e-73f7ecc9958b",
            "name": "Master User Api",
            "email": "[email protected]",
            "user_googletwofa": "Not Active",
            "user_category": "System Admin",
            "user_status": "Active"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"users\" where \"users\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.74
        },
        {
            "query": "select * from \"users\" where \"users\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.51
        },
        {
            "query": "select * from \"user_categories\" where \"user_categories\".\"id\" = ? and \"user_categories\".\"id\" is not null limit 1",
            "bindings": [
                1
            ],
            "time": 1.9
        }
    ],
    "input": []
}
 

Request   

POST api/v1/user/datatables

Headers

Authorization        

Example: Bearer ***************************************

List User

Example request:
curl --request POST \
    "http://localhost/api/v1/user/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"property_id\": \"qui\",
    \"user_search\": \"autem\",
    \"is_active\": \"false\",
    \"page_no\": 5
}"
const url = new URL(
    "http://localhost/api/v1/user/list"
);

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

let body = {
    "property_id": "qui",
    "user_search": "autem",
    "is_active": "false",
    "page_no": 5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'property_id' => 'qui',
            'user_search' => 'autem',
            'is_active' => 'false',
            'page_no' => 5,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "draw": 0,
    "recordsTotal": 1,
    "recordsFiltered": 1,
    "data": [
        {
            "id": "7342b731-c0fc-44c0-a55e-73f7ecc9958b",
            "name": "Master User Api",
            "email": "[email protected]",
            "user_googletwofa": "Not Active",
            "user_category": "System Admin",
            "user_status": "Active"
        }
    ],
    "queries": [
        {
            "query": "select count(*) as aggregate from \"users\" where \"users\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.74
        },
        {
            "query": "select * from \"users\" where \"users\".\"deleted_at\" is null",
            "bindings": [],
            "time": 0.51
        },
        {
            "query": "select * from \"user_categories\" where \"user_categories\".\"id\" = ? and \"user_categories\".\"id\" is not null limit 1",
            "bindings": [
                1
            ],
            "time": 1.9
        }
    ],
    "input": []
}
 

Request   

POST api/v1/user/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

property_id   string     

uuid of Property. Example: qui

user_search   string     

query of name or email. Example: autem

is_active   string  optional    

required. Example: false

Must be one of:
  • true
  • false
page_no   integer  optional    

number of pagination Example: 5

Option User list Filter

Example request:
curl --request POST \
    "http://localhost/api/v1/user/list/dropdown/filter" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"group\"
}"
const url = new URL(
    "http://localhost/api/v1/user/list/dropdown/filter"
);

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

let body = {
    "mode": "group"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/list/dropdown/filter';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'group',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart Of Account Template Options Founds",
    "data": [
        {
            "id": "6fe39895-7805-4e41-a241-f19b80ebf6f5",
            "name": "Full Chart Of Account"
        },
        {
            "id": "460a784a-e3d0-4fe1-b699-a55c52d03b69",
            "name": "Simple Chart Of Account"
        }
    ]
}
 

Request   

POST api/v1/user/list/dropdown/filter

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The property. Example: group

Must be one of:
  • property

Detail User

Example request:
curl --request GET \
    --get "http://localhost/api/v1/user/detail/18f48f3d-fa84-3820-bed6-c09aa44b81be" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"velit\"
}"
const url = new URL(
    "http://localhost/api/v1/user/detail/18f48f3d-fa84-3820-bed6-c09aa44b81be"
);

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

let body = {
    "id": "velit"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/detail/18f48f3d-fa84-3820-bed6-c09aa44b81be';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "f17e0571-1c0e-45bf-a67f-0160613c5e23",
    "name": "Master User Api",
    "email": "[email protected]",
    "google2fa_is_active": true,
    "google2fa_secret": "ROXTGX2RYNKYB7L5",
    "is_active": true,
    "user_categories": {
        "id": 1,
        "name": "System Admin"
    },
    "features": [
        {
            "id": 1,
            "feature_name": "System Features"
        },
        {
            "id": 2,
            "feature_name": "System Properties"
        },
        {
            "id": 3,
            "feature_name": "System Users"
        }
    ],
    "properties": [],
    "detail": []
}
 

Request   

GET api/v1/user/detail/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

URL Parameters

uuid   string     

Example: 18f48f3d-fa84-3820-bed6-c09aa44b81be

Body Parameters

id   string     

UUID of User Example: velit

Create / Update User

Example request:
curl --request POST \
    "http://localhost/api/v1/user/editor" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"ut\",
    \"name\": \"nostrum\",
    \"email\": \"[email protected]\",
    \"password\": \"Uk,osV1D,^cqhT\",
    \"user_category_id\": \"repudiandae\",
    \"status\": false,
    \"phone\": \"reiciendis\",
    \"timezone_id\": 7,
    \"language_id\": 13
}"
const url = new URL(
    "http://localhost/api/v1/user/editor"
);

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

let body = {
    "id": "ut",
    "name": "nostrum",
    "email": "[email protected]",
    "password": "Uk,osV1D,^cqhT",
    "user_category_id": "repudiandae",
    "status": false,
    "phone": "reiciendis",
    "timezone_id": 7,
    "language_id": 13
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/editor';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'ut',
            'name' => 'nostrum',
            'email' => '[email protected]',
            'password' => 'Uk,osV1D,^cqhT',
            'user_category_id' => 'repudiandae',
            'status' => false,
            'phone' => 'reiciendis',
            'timezone_id' => 7,
            'language_id' => 13,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update User",
    "data": {
        "id": "deb3c983-a749-4f61-8257-3d2b3683efd5",
        "name": "Agus Bawa Nadi Putra update",
        "email": "[email protected]",
        "google2fa_is_active": false,
        "is_active": true,
        "user_categories": {
            "id": 1,
            "name": "System Admin"
        },
        "phone": "+6281805410047",
        "language": {
            "id": 1,
            "name": "Afrikaans"
        },
        "timezone": {
            "id": 1,
            "name": "Africa/Abidjan"
        },
        "features": [],
        "properties": [],
        "detail": {
            "id": 4,
            "user_id": 5,
            "email_verification_code": null,
            "email_verified_at": null,
            "phone": "eyJpdiI6IlkvR1h4aVI0OEtjQTFIR2F4NTVDd2c9PSIsInZhbHVlIjoicCtUR1FYeGZiemxxOEIyYWhVQS9OQT09IiwibWFjIjoiMmRmNmQ5YmY5ZGNiY2Q5Y2Q4MGYxZTcwY2NlNzJlNGZhNDA3YzA5ZGExZTU3MjBlZjlhZGRlYzMyM2ZmN2EwOCIsInRhZyI6IiJ9",
            "phone_verified_at": null,
            "timezone_id": 1,
            "language_id": 1,
            "created_at": "2024-05-31 15:57:57",
            "updated_at": "2024-05-31 15:57:57",
            "deleted_at": null
        }
    }
}
 

Request   

POST api/v1/user/editor

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

The uuid of the user, if want update the data user please add di parameter. Example: ut

name   string     

name of User Example: nostrum

email   string     

email of User Example: [email protected]

password   string     

Password of User, set this parameter if want change the password Example: Uk,osV1D,^cqhT

user_category_id   string     

uuid user categories of User Example: repudiandae

status   boolean     

status of User if true is active and false deactive Example: false

phone   string     

phone number of User use format +620890090990 Example: reiciendis

timezone_id   integer     

timezone uuid of User Example: 7

language_id   integer     

language uuid of User Example: 13

Option User Editor Input

Example request:
curl --request POST \
    "http://localhost/api/v1/user/editor/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"mode\": \"group\"
}"
const url = new URL(
    "http://localhost/api/v1/user/editor/dropdown/list"
);

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

let body = {
    "mode": "group"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/editor/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'mode' => 'group',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Chart Of Account Template Options Founds",
    "data": [
        {
            "id": "6fe39895-7805-4e41-a241-f19b80ebf6f5",
            "name": "Full Chart Of Account"
        },
        {
            "id": "460a784a-e3d0-4fe1-b699-a55c52d03b69",
            "name": "Simple Chart Of Account"
        }
    ]
}
 

Request   

POST api/v1/user/editor/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

mode   string  optional    

The property. Example: group

Must be one of:
  • category
  • timezone
  • language

Remove User

Example request:
curl --request POST \
    "http://localhost/api/v1/user/remove" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": true
}"
const url = new URL(
    "http://localhost/api/v1/user/remove"
);

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

let body = {
    "id": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Remove Property",
    "data": []
}
 

Request   

POST api/v1/user/remove

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   boolean     

The uuid of the user. Example: true

Update User Feature

Example request:
curl --request POST \
    "http://localhost/api/v1/user/update/feature" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"perferendis\",
    \"feature_list\": [
        {
            \"id\": \"b0df0b1b-5776-4074-bb2b-0a4263962449\",
            \"name\": \"Language Settings\",
            \"meta_access\": {
                \"can_list\": false,
                \"can_view\": false,
                \"can_add\": false,
                \"can_edit\": false,
                \"can_delete\": false
            }
        },
        {
            \"id\": \"0663f8b2-f815-4826-a68b-8606f0475c00\",
            \"name\": \"Currency Settings\",
            \"meta_access\": {
                \"can_list\": false,
                \"can_view\": false,
                \"can_add\": false,
                \"can_edit\": false,
                \"can_delete\": false
            }
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/user/update/feature"
);

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

let body = {
    "id": "perferendis",
    "feature_list": [
        {
            "id": "b0df0b1b-5776-4074-bb2b-0a4263962449",
            "name": "Language Settings",
            "meta_access": {
                "can_list": false,
                "can_view": false,
                "can_add": false,
                "can_edit": false,
                "can_delete": false
            }
        },
        {
            "id": "0663f8b2-f815-4826-a68b-8606f0475c00",
            "name": "Currency Settings",
            "meta_access": {
                "can_list": false,
                "can_view": false,
                "can_add": false,
                "can_edit": false,
                "can_delete": false
            }
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/update/feature';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
            $o = [
                clone (($p = &\Symfony\Component\VarExporter\Internal\Registry::$prototypes)['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')),
                clone $p['stdClass'],
                clone $p['stdClass'],
                clone $p['stdClass'],
            ],
            null,
            [
                'stdClass' => [
                    'id' => [
                        'b0df0b1b-5776-4074-bb2b-0a4263962449',
                        2 => '0663f8b2-f815-4826-a68b-8606f0475c00',
                    ],
                    'name' => [
                        'Language Settings',
                        2 => 'Currency Settings',
                    ],
                    'meta_access' => [
                        $o[1],
                        2 => $o[3],
                    ],
                    'can_list' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_view' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_add' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_edit' => [
                        1 => false,
                        3 => false,
                    ],
                    'can_delete' => [
                        1 => false,
                        3 => false,
                    ],
                ],
            ],
            [
                'id' => 'perferendis',
                'feature_list' => [
                    $o[0],
                    $o[2],
                ],
            ],
            []
        ),
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success update User Category Feature Default",
    "data": {
        "id": "5fdf1e50-c125-4db1-bcbc-a02439054a39",
        "name": "Agus Bawa Nadi Putra",
        "user_categories_id": "30738b69-5a51-43cc-a678-d3a0301d82fe",
        "feature_list": [
            {
                "id": "9c8918af-9db2-4f04-b51d-7bdb2c62661e",
                "name": "General Settings",
                "feature_list": [
                    {
                        "id": "a95bf984-8842-4e7f-807e-e8462bb28cdf",
                        "name": "Language Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": false,
                            "can_edit": true,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "c901bdea-94d6-413b-83bf-db8d72384182",
                        "name": "Currency Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": false,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "6ebda416-fed0-42df-a475-b031e60033b8",
                        "name": "Timezone Settings",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "57793c0f-b525-4d71-9649-9d00e0aa9c1b",
                        "name": "Country Settings",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "2ba3ade1-3ddc-4f62-b7c6-5bc4f317bc46",
                        "name": "Region Settings",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "4a81c333-0277-4a78-8759-b778c7a7a860",
                        "name": "Area Settings",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    }
                ]
            },
            {
                "id": "7d49fc3c-e41e-487b-beb2-f764caf21a58",
                "name": "System Setup",
                "feature_list": [
                    {
                        "id": "22251f3b-ff7d-4c86-9657-a96e0e90e2e1",
                        "name": "Features Categories",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "0cff66cc-d0ce-4b6c-9723-f46d5e8fca29",
                        "name": "User Category Features Defaults",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "2ab7ad36-3f81-4863-a578-3657b2d5d153",
                        "name": "Properties Settings",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "e306a2c6-d101-46f0-bf85-0868e3201ea9",
                        "name": "Users Settings",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "cb04628f-381f-47bc-b8ad-75c7ea8e8bba",
                        "name": "Room Status Default",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "23486475-dd2e-434b-bb6e-2f5ddab042dd",
                        "name": "Amenities List Default",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "daeca237-fbe2-4a87-90b9-7b3aea028846",
                        "name": "Chart Of Account Default",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "6311cf9f-e96e-4d83-be03-3da126200157",
                        "name": "Chart Of Account Template",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    }
                ]
            },
            {
                "id": "feaeee14-cda1-435c-af28-88e5465c7884",
                "name": "Property Setup",
                "feature_list": [
                    {
                        "id": "1bcacebd-d3c7-4288-b012-d1894ddc43a1",
                        "name": "Room Amenities List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "4bc141ca-07ea-4c31-a50c-9c848fdc95cb",
                        "name": "Room Status List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "510d1643-582b-42f4-bcc1-a94cff3e29a9",
                        "name": "Room Bed Type List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "d815b27b-c4b0-472e-8b4c-1e2b98877e03",
                        "name": "Room Type",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "34fb3ff1-3d48-4a6e-aaf3-242a43d26b0e",
                        "name": "Rooms List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "1c686e55-aa5c-4879-a276-e15abb103b36",
                        "name": "Room Rates",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    }
                ]
            },
            {
                "id": "9c189c4e-165b-4107-895f-c3c216e0022f",
                "name": "Front Office",
                "feature_list": [
                    {
                        "id": "1ebc1e9b-8077-481c-b434-643bbb8c2e58",
                        "name": "Reservation",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "4bdbbea0-224c-4713-bae8-6eab7b99918c",
                        "name": "Room Available",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "e53c8448-19b3-434d-99d8-2bfb3d00fce0",
                        "name": "Night Audit",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "80a2d514-de3b-48a8-b6c1-7f7f46a6bab7",
                        "name": "Guest Profile",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "8b5351c6-f64a-4d54-81d6-0665a0859153",
                        "name": "Guest List Daily",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "298b6766-3472-4415-8ff6-671760e15636",
                        "name": "Guest Payment",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    }
                ]
            },
            {
                "id": "fc711b7f-050d-4a79-86d6-76f29bcceb6c",
                "name": "Back Office",
                "feature_list": [
                    {
                        "id": "de19014a-4c5a-496a-9781-4ccbb240369d",
                        "name": "Chart Of Account",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "91b8e800-fedc-4e49-9724-a462dd3b2525",
                        "name": "Tax And Service List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "f9bfa10c-a87c-4c25-b1df-11cd6cb12550",
                        "name": "Agent Property List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    },
                    {
                        "id": "d7496a07-7d69-4332-ac6a-a5f3ddfc0d9c",
                        "name": "Payment Options List",
                        "meta_access": {
                            "can_list": false,
                            "can_view": false,
                            "can_add": false,
                            "can_edit": false,
                            "can_delete": false
                        }
                    }
                ]
            }
        ]
    }
}
 

Request   

POST api/v1/user/update/feature

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of User Example: perferendis

feature_list   object[]  optional    

list of feature

List User features

Example request:
curl --request GET \
    --get "http://localhost/api/v1/user/feature/detail/a4c806d3-1d1c-3493-87ac-65229c5887ca" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/user/feature/detail/a4c806d3-1d1c-3493-87ac-65229c5887ca"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/feature/detail/a4c806d3-1d1c-3493-87ac-65229c5887ca';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get User Feature",
    "data": {
        "id": "69fe1eb9-d32d-41b7-be3b-832f16b5cd8d",
        "name": "Master User Api",
        "user_categories_id": "5dc3b91d-c354-40d0-b747-6ee4b8a3d992",
        "feature_list": [
            {
                "id": "9c8918af-9db2-4f04-b51d-7bdb2c62661e",
                "name": "General Settings",
                "feature_list": [
                    {
                        "id": "a95bf984-8842-4e7f-807e-e8462bb28cdf",
                        "name": "Language Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "c901bdea-94d6-413b-83bf-db8d72384182",
                        "name": "Currency Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "6ebda416-fed0-42df-a475-b031e60033b8",
                        "name": "Timezone Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "57793c0f-b525-4d71-9649-9d00e0aa9c1b",
                        "name": "Country Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "2ba3ade1-3ddc-4f62-b7c6-5bc4f317bc46",
                        "name": "Region Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "4a81c333-0277-4a78-8759-b778c7a7a860",
                        "name": "Area Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    }
                ]
            },
            {
                "id": "7d49fc3c-e41e-487b-beb2-f764caf21a58",
                "name": "System Setup",
                "feature_list": [
                    {
                        "id": "22251f3b-ff7d-4c86-9657-a96e0e90e2e1",
                        "name": "Features Categories",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "0cff66cc-d0ce-4b6c-9723-f46d5e8fca29",
                        "name": "User Category Features Defaults",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "2ab7ad36-3f81-4863-a578-3657b2d5d153",
                        "name": "Properties Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "e306a2c6-d101-46f0-bf85-0868e3201ea9",
                        "name": "Users Settings",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "cb04628f-381f-47bc-b8ad-75c7ea8e8bba",
                        "name": "Room Status Default",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "23486475-dd2e-434b-bb6e-2f5ddab042dd",
                        "name": "Amenities List Default",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "daeca237-fbe2-4a87-90b9-7b3aea028846",
                        "name": "Chart Of Account Default",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "6311cf9f-e96e-4d83-be03-3da126200157",
                        "name": "Chart Of Account Template",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    }
                ]
            },
            {
                "id": "feaeee14-cda1-435c-af28-88e5465c7884",
                "name": "Property Setup",
                "feature_list": [
                    {
                        "id": "1bcacebd-d3c7-4288-b012-d1894ddc43a1",
                        "name": "Room Amenities List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "4bc141ca-07ea-4c31-a50c-9c848fdc95cb",
                        "name": "Room Status List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "510d1643-582b-42f4-bcc1-a94cff3e29a9",
                        "name": "Room Bed Type List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "d815b27b-c4b0-472e-8b4c-1e2b98877e03",
                        "name": "Room Type",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "34fb3ff1-3d48-4a6e-aaf3-242a43d26b0e",
                        "name": "Rooms List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "1c686e55-aa5c-4879-a276-e15abb103b36",
                        "name": "Room Rates",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    }
                ]
            },
            {
                "id": "9c189c4e-165b-4107-895f-c3c216e0022f",
                "name": "Front Office",
                "feature_list": [
                    {
                        "id": "1ebc1e9b-8077-481c-b434-643bbb8c2e58",
                        "name": "Reservation",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "4bdbbea0-224c-4713-bae8-6eab7b99918c",
                        "name": "Room Available",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "e53c8448-19b3-434d-99d8-2bfb3d00fce0",
                        "name": "Night Audit",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "80a2d514-de3b-48a8-b6c1-7f7f46a6bab7",
                        "name": "Guest Profile",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "8b5351c6-f64a-4d54-81d6-0665a0859153",
                        "name": "Guest List Daily",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "298b6766-3472-4415-8ff6-671760e15636",
                        "name": "Guest Payment",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    }
                ]
            },
            {
                "id": "fc711b7f-050d-4a79-86d6-76f29bcceb6c",
                "name": "Back Office",
                "feature_list": [
                    {
                        "id": "de19014a-4c5a-496a-9781-4ccbb240369d",
                        "name": "Chart Of Account",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "91b8e800-fedc-4e49-9724-a462dd3b2525",
                        "name": "Tax And Service List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "f9bfa10c-a87c-4c25-b1df-11cd6cb12550",
                        "name": "Agent Property List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    },
                    {
                        "id": "d7496a07-7d69-4332-ac6a-a5f3ddfc0d9c",
                        "name": "Payment Options List",
                        "meta_access": {
                            "can_list": true,
                            "can_view": true,
                            "can_add": true,
                            "can_edit": true,
                            "can_delete": true
                        }
                    }
                ]
            }
        ]
    }
}
 

Request   

GET api/v1/user/feature/detail/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of User. Example: a4c806d3-1d1c-3493-87ac-65229c5887ca

Update User Property

Example request:
curl --request POST \
    "http://localhost/api/v1/user/editor/property" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"voluptas\",
    \"property_list\": [
        \"1dce3106-2edb-4c56-956d-3987785080c2\",
        \"70b6a5bd-fa17-4072-ac38-8dcb81f16f81\"
    ]
}"
const url = new URL(
    "http://localhost/api/v1/user/editor/property"
);

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

let body = {
    "id": "voluptas",
    "property_list": [
        "1dce3106-2edb-4c56-956d-3987785080c2",
        "70b6a5bd-fa17-4072-ac38-8dcb81f16f81"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/editor/property';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'voluptas',
            'property_list' => [
                '1dce3106-2edb-4c56-956d-3987785080c2',
                '70b6a5bd-fa17-4072-ac38-8dcb81f16f81',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update User",
    "data": {
        "id": "deb3c983-a749-4f61-8257-3d2b3683efd5",
        "name": "Agus Bawa Nadi Putra update",
        "email": "[email protected]",
        "google2fa_is_active": false,
        "is_active": true,
        "user_categories": {
            "id": 1,
            "name": "System Admin"
        },
        "phone": "+6281805410047",
        "language": {
            "id": 1,
            "name": "Afrikaans"
        },
        "timezone": {
            "id": 1,
            "name": "Africa/Abidjan"
        },
        "features": [],
        "properties": [
            {
                "id": "3aae9ad7-19cf-4cdc-959f-dd43558c712c",
                "name": "Hotel Dummy"
            }
        ],
        "detail": {
            "id": 4,
            "user_id": 5,
            "email_verification_code": null,
            "email_verified_at": null,
            "phone": "eyJpdiI6IlkvR1h4aVI0OEtjQTFIR2F4NTVDd2c9PSIsInZhbHVlIjoicCtUR1FYeGZiemxxOEIyYWhVQS9OQT09IiwibWFjIjoiMmRmNmQ5YmY5ZGNiY2Q5Y2Q4MGYxZTcwY2NlNzJlNGZhNDA3YzA5ZGExZTU3MjBlZjlhZGRlYzMyM2ZmN2EwOCIsInRhZyI6IiJ9",
            "phone_verified_at": null,
            "timezone_id": 1,
            "language_id": 1,
            "created_at": "2024-05-31 15:57:57",
            "updated_at": "2024-05-31 15:57:57",
            "deleted_at": null
        }
    }
}
 

Request   

POST api/v1/user/editor/property

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of User Example: voluptas

property_list   string[]  optional    

This is a feature list uuid.

Option User Property Editor Input

Example request:
curl --request POST \
    "http://localhost/api/v1/user/editor/property/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": false
}"
const url = new URL(
    "http://localhost/api/v1/user/editor/property/dropdown/list"
);

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

let body = {
    "id": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/editor/property/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Properties Options Founds",
    "data": [
        {
            "id": "3aae9ad7-19cf-4cdc-959f-dd43558c712c",
            "name": "Hotel Dummy"
        }
    ]
}
 

Request   

POST api/v1/user/editor/property/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   boolean     

The uuid of the user. Example: false

List User Property

Example request:
curl --request GET \
    --get "http://localhost/api/v1/user/property/lists/5f4070f2-f0cb-38e7-933b-e1f380360f77" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/user/property/lists/5f4070f2-f0cb-38e7-933b-e1f380360f77"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/property/lists/5f4070f2-f0cb-38e7-933b-e1f380360f77';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Property",
    "data": [
        {
            "uuid": "3aae9ad7-19cf-4cdc-959f-dd43558c712c",
            "name": "Hotel Dummy"
        }
    ]
}
 

Request   

GET api/v1/user/property/lists/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

Example: 5f4070f2-f0cb-38e7-933b-e1f380360f77

id   string     

uuid of User. Example: ut

Update User Property Groups

Example request:
curl --request POST \
    "http://localhost/api/v1/user/editor/propertygroups" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"soluta\",
    \"property_group_list\": [
        \"1dce3106-2edb-4c56-956d-3987785080c2\",
        \"70b6a5bd-fa17-4072-ac38-8dcb81f16f81\"
    ]
}"
const url = new URL(
    "http://localhost/api/v1/user/editor/propertygroups"
);

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

let body = {
    "id": "soluta",
    "property_group_list": [
        "1dce3106-2edb-4c56-956d-3987785080c2",
        "70b6a5bd-fa17-4072-ac38-8dcb81f16f81"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/editor/propertygroups';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'soluta',
            'property_group_list' => [
                '1dce3106-2edb-4c56-956d-3987785080c2',
                '70b6a5bd-fa17-4072-ac38-8dcb81f16f81',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Update User",
    "data": {
        "id": "deb3c983-a749-4f61-8257-3d2b3683efd5",
        "name": "Agus Bawa Nadi Putra update",
        "email": "[email protected]",
        "google2fa_is_active": false,
        "is_active": true,
        "user_categories": {
            "id": 1,
            "name": "System Admin"
        },
        "phone": "+6281805410047",
        "language": {
            "id": 1,
            "name": "Afrikaans"
        },
        "timezone": {
            "id": 1,
            "name": "Africa/Abidjan"
        },
        "features": [],
        "properties": [
            {
                "id": "3aae9ad7-19cf-4cdc-959f-dd43558c712c",
                "name": "Hotel Dummy"
            }
        ],
        "detail": {
            "id": 4,
            "user_id": 5,
            "email_verification_code": null,
            "email_verified_at": null,
            "phone": "eyJpdiI6IlkvR1h4aVI0OEtjQTFIR2F4NTVDd2c9PSIsInZhbHVlIjoicCtUR1FYeGZiemxxOEIyYWhVQS9OQT09IiwibWFjIjoiMmRmNmQ5YmY5ZGNiY2Q5Y2Q4MGYxZTcwY2NlNzJlNGZhNDA3YzA5ZGExZTU3MjBlZjlhZGRlYzMyM2ZmN2EwOCIsInRhZyI6IiJ9",
            "phone_verified_at": null,
            "timezone_id": 1,
            "language_id": 1,
            "created_at": "2024-05-31 15:57:57",
            "updated_at": "2024-05-31 15:57:57",
            "deleted_at": null
        }
    }
}
 

Request   

POST api/v1/user/editor/propertygroups

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of User Example: soluta

property_group_list   string[]  optional    

This is a feature list uuid.

Option User Property Group Editor Input

Example request:
curl --request POST \
    "http://localhost/api/v1/user/editor/propertygroups/dropdown/list" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": false
}"
const url = new URL(
    "http://localhost/api/v1/user/editor/propertygroups/dropdown/list"
);

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

let body = {
    "id": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/editor/propertygroups/dropdown/list';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Properties Groups Options Founds",
    "data": [
        {
            "id": "3aae9ad7-19cf-4cdc-959f-dd43558c712c",
            "name": "Hotel Dummy"
        }
    ]
}
 

Request   

POST api/v1/user/editor/propertygroups/dropdown/list

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   boolean     

The uuid of the user. Example: false

List User Property Groups

Example request:
curl --request GET \
    --get "http://localhost/api/v1/user/propertygroups/lists/41e7df41-3582-37ca-a84a-18c4380f3736" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/user/propertygroups/lists/41e7df41-3582-37ca-a84a-18c4380f3736"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/propertygroups/lists/41e7df41-3582-37ca-a84a-18c4380f3736';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "message": "Success Get List Property",
    "data": [
        {
            "uuid": "3aae9ad7-19cf-4cdc-959f-dd43558c712c",
            "name": "Hotel Dummy"
        }
    ]
}
 

Request   

GET api/v1/user/propertygroups/lists/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

Example: 41e7df41-3582-37ca-a84a-18c4380f3736

id   string     

uuid of User. Example: unde

Update User Ip Whitelist

Example request:
curl --request POST \
    "http://localhost/api/v1/user/update/ipwhitelist" \
    --header "Authorization: Bearer ***************************************" \
    --header "Content-Type: application/json" \
    --data "{
    \"id\": \"vel\",
    \"ip_list\": [
        \"127.0.0.1\",
        \"127.0.0.2\"
    ]
}"
const url = new URL(
    "http://localhost/api/v1/user/update/ipwhitelist"
);

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

let body = {
    "id": "vel",
    "ip_list": [
        "127.0.0.1",
        "127.0.0.2"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/update/ipwhitelist';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'id' => 'vel',
            'ip_list' => [
                '127.0.0.1',
                '127.0.0.2',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": "65665b19-80f8-4333-b228-46786077101c",
    "name": "Agus Bawa Nadi Putra",
    "email": "[email protected]",
    "google2fa_is_active": false,
    "is_active": true,
    "user_categories": {
        "id": 1,
        "name": "System Admin"
    },
    "features": [
        {
            "id": 1,
            "feature_name": "System Features"
        },
        {
            "id": 3,
            "feature_name": "System Users"
        }
    ],
    "properties": [
        {
            "id": "1dce3106-2edb-4c56-956d-3987785080c2",
            "name": "Satria Cotages"
        },
        {
            "id": "70b6a5bd-fa17-4072-ac38-8dcb81f16f81",
            "name": "Satria Cotages"
        }
    ],
    "detail": []
}
 

Request   

POST api/v1/user/update/ipwhitelist

Headers

Authorization        

Example: Bearer ***************************************

Content-Type        

Example: application/json

Body Parameters

id   string     

uuid of User Example: vel

ip_list   string[]  optional    

This is a ip list uuid.

List User Ip Whitelist

Example request:
curl --request GET \
    --get "http://localhost/api/v1/user/ipwhitelist/lists/19bf2840-caf5-3f69-9ac4-1bf69114c3ef" \
    --header "Authorization: Bearer ***************************************"
const url = new URL(
    "http://localhost/api/v1/user/ipwhitelist/lists/19bf2840-caf5-3f69-9ac4-1bf69114c3ef"
);

const headers = {
    "Authorization": "Bearer ***************************************",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://localhost/api/v1/user/ipwhitelist/lists/19bf2840-caf5-3f69-9ac4-1bf69114c3ef';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer ***************************************',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "key": "1-system-setup",
        "label": "System Setup",
        "active_all": true,
        "feature": [
            {
                "id": 1,
                "name": "System Features",
                "is_active": true
            },
            {
                "id": 2,
                "name": "System Properties",
                "is_active": true
            },
            {
                "id": 3,
                "name": "System Users",
                "is_active": true
            }
        ]
    }
]
 

Request   

GET api/v1/user/ipwhitelist/lists/{uuid}

Headers

Authorization        

Example: Bearer ***************************************

URL Parameters

uuid   string     

uuid of User. Example: 19bf2840-caf5-3f69-9ac4-1bf69114c3ef