# 7.6. Approve update vertical cabling request

[![approve vertical cabling.png](https://doc.rncv.lu/uploads/images/gallery/2025-10/scaled-1680-/approve-vertical-cabling.png)](https://doc.rncv.lu/uploads/images/gallery/2025-10/approve-vertical-cabling.png)

<table class="simple-table" id="bkmrk-name-approve-update-" style="width: 95.238095%; height: 408px;"><thead class="simple-table-header"><tr id="bkmrk-name-approve-update--1" style="height: 29px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-name" style="width: 18.494141%; height: 29px;">Name</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-approve-update-verti" style="width: 81.419922%; height: 29px;">Approve update vertical cabling request</th></tr></thead><tbody><tr id="bkmrk-purpose-allow-approv" style="height: 45px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-purpose" style="width: 18.494141%; height: 45px;">**Purpose**</th><td class="align-left" id="bkmrk-allow-approvers-to-v" style="width: 81.419922%; height: 45px;">Allow Approvers to validate an update request for a vertical cabling entry between two equipments</td></tr><tr id="bkmrk-linked-user-stories-" style="height: 45px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-linked-user-stories" style="width: 18.494141%; height: 45px;">**Linked user stories**</th><td class="align-left" id="bkmrk-4.51.-approver---app" style="width: 81.419922%; height: 45px;">[4.51. Approver - Approve or reject update vertical cabling request](https://doc.rncv.lu/books/architecture-documentation/page/451-approver-approve-or-reject-update-vertical-cabling-request "4.51. Approver - Approve or reject update vertical cabling request")

[4.56. Organisation Approver - Approve or reject update vertical cabling request for organisation](https://doc.rncv.lu/books/architecture-documentation/page/456-organisation-approver-approve-or-reject-update-vertical-cabling-request-for-organisation "4.56. Organisation Approver - Approve or reject update vertical cabling request for organisation")

</td></tr><tr id="bkmrk-apis-used-put-%2Fphysi" style="height: 61px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-apis-used" style="width: 18.494141%; height: 61px;">**APIs used**</th><td class="align-left" id="bkmrk-put-%2Fphysical-links%2F" style="width: 81.419922%; height: 61px;">PUT /physical-links/&lt;physical-link-id&gt;/approve  
PUT /physical-links/&lt;physical-link-id&gt;/reject  
PUT or PATCH /physical-links/&lt;physical-link-id&gt;</td></tr><tr id="bkmrk-scope-this-process-o" style="height: 61px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-scope" style="width: 18.494141%; height: 61px;">**Scope**</th><td class="align-left" id="bkmrk-this-process-only-ha" style="width: 81.419922%; height: 61px;">This process only handles the validation of an already created update vertical cabling request  
  
The process of creating the entry is handled in a dedicated process.</td></tr><tr id="bkmrk-roles-system%2C-approv" style="height: 29px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-roles" style="width: 18.494141%; height: 29px;">**Roles**</th><td class="align-left" id="bkmrk-system%2C-approver-%2F-g" style="width: 81.419922%; height: 29px;">System, Approver / Global Approver</td></tr><tr id="bkmrk-input---id-of-the-ph" style="height: 109px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-input" style="width: 18.494141%; height: 109px;">**Input**</th><td class="align-left" id="bkmrk---id-of-the-physical" style="width: 81.419922%; height: 109px;">- id of the physical link update to validate  
- optionally the information to amend:  
- source equipment (mandatory)  
- destination equipment or unit (mandatory)  
- cable type (mandatory)  
- additional metadata</td></tr><tr id="bkmrk-output---confirmatio" style="height: 29px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-output" style="width: 18.494141%; height: 29px;">**Output**</th><td class="align-left" id="bkmrk---confirmation-that-" style="width: 81.419922%; height: 29px;">- confirmation that the update request has been approved/rejected</td></tr></tbody></table>

## Detailed Process description

### Main Process

<table class="simple-table" id="bkmrk-step-description-act" style="width: 100%; height: 978px;"><thead class="simple-table-header"><tr id="bkmrk-step-description-act-1" style="height: 93px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-step" style="width: 6.197855%; height: 93px;">Step</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description" style="width: 24.672229%; height: 93px;">Description</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-actor%28s%29" style="width: 9.296782%; height: 93px;">Actor(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-input%28s%29" style="width: 16.089875%; height: 93px;">Input(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-output%28s%29" style="width: 12.515608%; height: 93px;">Output(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-decision-points" style="width: 31.227652%; height: 93px;">Decision points</th></tr></thead><tbody><tr id="bkmrk-1-the-system-sends-o" style="height: 77px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-1" style="width: 6.197855%; height: 77px;">**1**</th><td class="align-left" id="bkmrk-the-system-sends-out" style="width: 24.672229%; height: 77px;">The System sends out notifications to the Global approvers and organisation approvers, indicating that an approval a pending.</td><td class="align-left" id="bkmrk-system" style="width: 9.296782%; height: 77px;">System</td><td class="align-left" id="bkmrk---outside-trigger-%28e" style="width: 16.089875%; height: 77px;">- Outside trigger (e.g. Editor sent a new update request)</td><td class="align-left" id="bkmrk---notification-to-th" style="width: 12.515608%; height: 77px;">- notification to the Global and organisation Approvers</td><td class="align-left" id="bkmrk--1" style="width: 31.227652%; height: 77px;"></td></tr><tr id="bkmrk-2-the-approver-verif" style="height: 125px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-2" style="width: 6.197855%; height: 125px;">**2**</th><td class="align-left" id="bkmrk-the-approver-verifie" style="width: 24.672229%; height: 125px;">The Approver verifies if the entry is valid and up to the expected quality standards</td><td class="align-left" id="bkmrk-approver" style="width: 9.296782%; height: 125px;">Approver</td><td class="align-left" id="bkmrk---update-physical-li" style="width: 16.089875%; height: 125px;">- Update physical link request</td><td class="align-left" id="bkmrk---yes-%2F-no" style="width: 12.515608%; height: 125px;">- yes / no</td><td class="align-left" id="bkmrk-if-the-entry-is-vali" style="width: 31.227652%; height: 125px;">**If the entry is valid:**  
- Go to step 4  
**Else:**  
- Go to secondary process S.1</td></tr><tr id="bkmrk-3-the-approver-verif" style="height: 125px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-3" style="width: 6.197855%; height: 125px;">**3**</th><td class="align-left" id="bkmrk-the-approver-verifie-1" style="width: 24.672229%; height: 125px;">The Approver verifies if pictures linked to the entry contain any private data</td><td class="align-left" id="bkmrk-approver-1" style="width: 9.296782%; height: 125px;">Approver</td><td class="align-left" id="bkmrk---update-physical-li-1" style="width: 16.089875%; height: 125px;">- Update physical link request</td><td class="align-left" id="bkmrk---yes-%2F-no-1" style="width: 12.515608%; height: 125px;">- yes / no</td><td class="align-left" id="bkmrk-if-the-entry-is-vali-1" style="width: 31.227652%; height: 125px;">**If the entry is valid:**  
- Go to step 4  
**Else:**  
- Go to secondary process S.1</td></tr><tr id="bkmrk-4-the-approver-appro" style="height: 109px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-4" style="width: 6.197855%; height: 109px;">**4**</th><td class="align-left" id="bkmrk-the-approver-approve" style="width: 24.672229%; height: 109px;">The Approver approves the entry</td><td class="align-left" id="bkmrk-approver-2" style="width: 9.296782%; height: 109px;">Approver</td><td class="align-left" id="bkmrk---update-physical-li-2" style="width: 16.089875%; height: 109px;">- Update physical link request</td><td class="align-left" id="bkmrk---update-physical-li-3" style="width: 12.515608%; height: 109px;">- update physical link request approval</td><td class="align-left" id="bkmrk--2" style="width: 31.227652%; height: 109px;"></td></tr><tr id="bkmrk-5-the-system-verifie" style="height: 109px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-5" style="width: 6.197855%; height: 109px;">**5**</th><td class="align-left" id="bkmrk-the-system-verifies-" style="width: 24.672229%; height: 109px;">The System verifies if the equipments/unit for which a physical link approval is sent exist</td><td class="align-left" id="bkmrk-system-1" style="width: 9.296782%; height: 109px;">System</td><td class="align-left" id="bkmrk---update-physical-li-4" style="width: 16.089875%; height: 109px;">- update physical link request to approve</td><td class="align-left" id="bkmrk---yes-%2F-no-2" style="width: 12.515608%; height: 109px;">- yes / no</td><td class="align-left" id="bkmrk-if-the-equipments%2Fun" style="width: 31.227652%; height: 109px;">**If the equipments/unit exist:** - Go to step 6  
**Else:** - Go to error E.1</td></tr><tr id="bkmrk-6-the-system-verifie" style="height: 125px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-6" style="width: 6.197855%; height: 125px;">**6**</th><td class="align-left" id="bkmrk-the-system-verifies--1" style="width: 24.672229%; height: 125px;">The System verifies that the two equipments/unit are geographically close enough to be connected</td><td class="align-left" id="bkmrk-system-2" style="width: 9.296782%; height: 125px;">System</td><td class="align-left" id="bkmrk---update-physical-li-5" style="width: 16.089875%; height: 125px;">- update physical link request to approve</td><td class="align-left" id="bkmrk---yes-%2F-no-3" style="width: 12.515608%; height: 125px;">- yes / no</td><td class="align-left" id="bkmrk-if-the-equipments%2Fun-1" style="width: 31.227652%; height: 125px;">**If the equipments/unit are close enough:** - Go to step 7  
**Else:** - Go to error E.2</td></tr><tr id="bkmrk-7-the-system-marks-t" style="height: 77px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-7" style="width: 6.197855%; height: 77px;">**7**</th><td class="align-left" id="bkmrk-the-system-marks-the" style="width: 24.672229%; height: 77px;">The System marks the update as approved and adds the approval date as well as the approver</td><td class="align-left" id="bkmrk-system-3" style="width: 9.296782%; height: 77px;">System</td><td class="align-left" id="bkmrk---update-physical-li-6" style="width: 16.089875%; height: 77px;">- update physical link request to approve</td><td class="align-left" id="bkmrk---approved-update-re" style="width: 12.515608%; height: 77px;">- Approved update request</td><td class="align-left" id="bkmrk--3" style="width: 31.227652%; height: 77px;"></td></tr><tr id="bkmrk-8-the-approver-gets-" style="height: 109px;"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-8" style="width: 6.197855%; height: 109px;">**8**</th><td class="align-left" id="bkmrk-the-approver-gets-no" style="width: 24.672229%; height: 109px;">The Approver gets notified that the approval was successfully done</td><td class="align-left" id="bkmrk-approver-3" style="width: 9.296782%; height: 109px;">Approver</td><td class="align-left" id="bkmrk---update-request-app" style="width: 16.089875%; height: 109px;">- update request approval confirmation</td><td class="align-left" id="bkmrk--" style="width: 12.515608%; height: 109px;">-</td><td class="align-left" style="width: 31.227652%; height: 109px;">  
</td></tr></tbody></table>

### Secondary Processes

#### S.1. Submitted update physical link request needs adaptations

<table class="simple-table" id="bkmrk-step-description-act-2" style="width: 100%;"><thead class="simple-table-header"><tr id="bkmrk-step-description-act-3"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-step-1" style="width: 6.197855%;">Step</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description-1" style="width: 24.672229%;">Description</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-actor%28s%29-1" style="width: 9.296782%;">Actor(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-input%28s%29-1" style="width: 15.852205%;">Input(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-output%28s%29-1" style="width: 13.002441%;">Output(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-decision-points-1" style="width: 31.097679%;">Decision points</th></tr></thead><tbody><tr id="bkmrk-1-the-approver-verif"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-1-1" style="width: 6.197855%;">**1**</th><td class="align-left" id="bkmrk-the-approver-verifie-2" style="width: 24.672229%;">The Approver verifies if the update physical link request is partially valid and can be corrected</td><td class="align-left" id="bkmrk-approver-4" style="width: 9.296782%;">Approver</td><td class="align-left" id="bkmrk---update-physical-li-7" style="width: 15.852205%;">- update physical link request</td><td class="align-left" id="bkmrk---yes-%2F-no-4" style="width: 13.002441%;">- yes / no</td><td class="align-left" id="bkmrk-if-the-request-can-b" style="width: 31.097679%;">**If the request can be corrected by the approver:**  
Go to step 2  
**Else:** Go to secondary process S.2.</td></tr><tr id="bkmrk-2-the-approver-corre"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-2-1" style="width: 6.197855%;">**2**</th><td class="align-left" id="bkmrk-the-approver-correct" style="width: 24.672229%;">The Approver corrects the submitted update request</td><td class="align-left" id="bkmrk-approver-5" style="width: 9.296782%;">Approver</td><td class="align-left" id="bkmrk---update-physical-li-8" style="width: 15.852205%;">- update physical link request</td><td class="align-left" id="bkmrk---corrected-update-p" style="width: 13.002441%;">- corrected update physical link request</td><td class="align-left" id="bkmrk-go-back-to-main-proc" style="width: 31.097679%;">Go back to main process Step 4</td></tr></tbody></table>

#### S.1. Submitted update is rejected

<table class="simple-table" id="bkmrk-step-description-act-4" style="width: 100%;"><thead class="simple-table-header"><tr id="bkmrk-step-description-act-5"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-step-2" style="width: 5.959476%;">Step</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description-2" style="width: 24.791418%;">Description</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-actor%28s%29-2" style="width: 9.296782%;">Actor(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-input%28s%29-2" style="width: 15.971395%;">Input(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-output%28s%29-2" style="width: 13.019893%;">Output(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-decision-points-2" style="width: 30.961036%;">Decision points</th></tr></thead><tbody><tr id="bkmrk-1-the-approver-rejec"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-1-2" style="width: 5.959476%;">**1**</th><td class="align-left" id="bkmrk-the-approver-rejects" style="width: 24.791418%;">The Approver rejects the entry</td><td class="align-left" id="bkmrk-approver-6" style="width: 9.296782%;">Approver</td><td class="align-left" id="bkmrk---update-physical-li-9" style="width: 15.971395%;">- update physical link request</td><td class="align-left" id="bkmrk---update-physical-li-10" style="width: 13.019893%;">- update physical link request rejection</td><td class="align-left" id="bkmrk--4" style="width: 30.961036%;"></td></tr><tr id="bkmrk-2-the-system-marks-t"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-2-2" style="width: 5.959476%;">**2**</th><td class="align-left" id="bkmrk-the-system-marks-the-1" style="width: 24.791418%;">The System marks the request as rejected and adds the date as well as the approver to the rejected update request</td><td class="align-left" id="bkmrk-system-4" style="width: 9.296782%;">System</td><td class="align-left" id="bkmrk---update-physical-li-11" style="width: 15.971395%;">- update physical link request rejection</td><td class="align-left" id="bkmrk---rejected-update-ph" style="width: 13.019893%;">- rejected update physical link request</td><td class="align-left" id="bkmrk--5" style="width: 30.961036%;"></td></tr><tr id="bkmrk-3-the-approver-gets-"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-3-1" style="width: 5.959476%;">**3**</th><td class="align-left" id="bkmrk-the-approver-gets-a-" style="width: 24.791418%;">The Approver gets a confirmation that the update request has been rejected</td><td class="align-left" id="bkmrk-approver-7" style="width: 9.296782%;">Approver</td><td class="align-left" id="bkmrk---update-physical-li-12" style="width: 15.971395%;">- update physical link request rejection confirmation</td><td class="align-left" id="bkmrk--6" style="width: 13.019893%;"></td><td class="align-left">  
</td></tr></tbody></table>

### Error Processes

#### E.1. Equipments / unit not found

<table class="simple-table" id="bkmrk-step-description-act-6" style="width: 100%;"><thead class="simple-table-header"><tr id="bkmrk-step-description-act-7"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-step-3" style="width: 5.959476%;">Step</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description-3" style="width: 24.791418%;">Description</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-actor%28s%29-3" style="width: 9.058403%;">Actor(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-input%28s%29-3" style="width: 15.613826%;">Input(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-output%28s%29-3" style="width: 13.135677%;">Output(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-decision-points-3" style="width: 31.4412%;">Decision points</th></tr></thead><tbody><tr id="bkmrk-1-system-returns-an-"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-1-3" style="width: 5.959476%;">**1**</th><td class="align-left" id="bkmrk-system-returns-an-er" style="width: 24.791418%;">System returns an error indicating that one or both equipment(s) / unit do not exist</td><td class="align-left" id="bkmrk-system-5" style="width: 9.058403%;">System</td><td class="align-left" id="bkmrk---1" style="width: 15.613826%;">-</td><td class="align-left" id="bkmrk-error%3A-equipments-%2F-" style="width: 13.135677%;">**Error: equipments / unit do not exist**</td><td class="align-left" style="width: 31.4412%;">  
</td></tr></tbody></table>

#### E.2. Equipments / unit out of reach

<table class="simple-table" id="bkmrk-step-description-act-8" style="width: 100%;"><thead class="simple-table-header"><tr id="bkmrk-step-description-act-9"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-step-4" style="width: 5.840286%;">Step</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-description-4" style="width: 24.553039%;">Description</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-actor%28s%29-4" style="width: 9.296782%;">Actor(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-input%28s%29-4" style="width: 15.613826%;">Input(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-output%28s%29-4" style="width: 13.229752%;">Output(s)</th><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-decision-points-4" style="width: 31.466315%;">Decision points</th></tr></thead><tbody><tr id="bkmrk-1-system-returns-an--1"><th class="simple-table-header-color simple-table-header align-left" id="bkmrk-1-4" style="width: 5.840286%;">**1**</th><td class="align-left" id="bkmrk-system-returns-an-er-1" style="width: 24.553039%;">System returns an error indicating that the two equipments / unit are not geographically close enough to be connected.</td><td class="align-left" id="bkmrk-system-6" style="width: 9.296782%;">System</td><td class="align-left" id="bkmrk---2" style="width: 15.613826%;">-</td><td class="align-left" id="bkmrk-error%3A-equipments-%2F--1" style="width: 13.229752%;">**Error: equipments / unit not in physical link range**</td><td class="align-left" style="width: 31.466315%;">  
</td></tr></tbody></table>

## Additional Information

### Exceptions

#### \[400 Bad Request\] Invalid input:

If mandatory fields are missing or fields are invalid, the system returns an error message. This includes the case in which one or both equipment(s) / unit do not exist.

#### \[409 Conflict\] Equipments / unit out of reach

If the **Editor** attempts to add physical link between two equipments / unit that are geographically too far away to be connected, the system should return an error.

#### \[500 Internal Server Error\] System Error

If the system fails to save changes due to an internal error, it displays an appropriate message and logs the error for further investigation.