|
| 1 | +--- |
| 2 | +id: device-reservation |
| 3 | +title: Device Reservation on Private Cloud Devices |
| 4 | +sidebar_label: Device Reservation |
| 5 | +description: Learn how to reserve private cloud devices in LambdaTest to ensure uninterrupted testing, fair access, and conflict-free usage across your team. |
| 6 | +keywords: |
| 7 | +- device reservation |
| 8 | +- private cloud |
| 9 | +- device booking |
| 10 | +- lambdatest devices |
| 11 | +- test scheduling |
| 12 | +url: https://www.lambdatest.com/support/docs/device-reservation/ |
| 13 | +site_name: LambdaTest |
| 14 | +slug: device-reservation/ |
| 15 | +--- |
| 16 | +import CodeBlock from '@theme/CodeBlock'; |
| 17 | +import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; |
| 18 | + |
| 19 | +import Tabs from '@theme/Tabs'; |
| 20 | +import TabItem from '@theme/TabItem'; |
| 21 | + |
| 22 | +<script type="application/ld+json" |
| 23 | + dangerouslySetInnerHTML={{ __html: JSON.stringify({ |
| 24 | + "@context": "https://schema.org", |
| 25 | + "@type": "BreadcrumbList", |
| 26 | + "itemListElement": [{ |
| 27 | + "@type": "ListItem", |
| 28 | + "position": 1, |
| 29 | + "name": "Home", |
| 30 | + "item": "https://www.lambdatest.com" |
| 31 | + },{ |
| 32 | + "@type": "ListItem", |
| 33 | + "position": 2, |
| 34 | + "name": "Support", |
| 35 | + "item": "https://www.lambdatest.com/support/docs/" |
| 36 | + },{ |
| 37 | + "@type": "ListItem", |
| 38 | + "position": 3, |
| 39 | + "name": "Python With Appium", |
| 40 | + "item": "https://www.lambdatest.com/support/docs/appium-python/" |
| 41 | + }] |
| 42 | + }) |
| 43 | + }} |
| 44 | +></script> |
| 45 | + |
| 46 | +# Device Reservation on Private Cloud Devices |
| 47 | + |
| 48 | +Device Reservation in LambdaTest allows you to **reserve private cloud devices ahead of time** and ensure dedicated access during critical testing windows. By reserving devices in advance, testers can avoid conflicts, eliminate last‑minute interruptions, and guarantee smoother execution of both manual and automated test runs. This capability is especially valuable for time‑sensitive releases, large regression cycles, and continuous integration pipelines, where uninterrupted device availability is crucial. Beyond conflict prevention, it also helps organizations improve overall resource utilization, enforce fair usage policies, and provide better visibility of device allocation across teams. |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +## Use Cases |
| 53 | + |
| 54 | +- **Release-Day Reliability**: Reserve devices in advance to guarantee uninterrupted testing during production releases or hotfix rollouts. |
| 55 | +- **Parallel Test Execution**: Secure multiple devices for running automated test suites in parallel, speeding up regression cycles. |
| 56 | +- **Cross-Team Coordination**: Schedule device bookings across QA, Dev, and Ops teams to align on shared testing timelines. |
| 57 | +- **Peak Hour Management**: Prevent conflicts during high-demand periods by ensuring fair access and availability through reservations. |
| 58 | +- **Optimized Resource Utilization**: Track and manage reservations to avoid idle devices and maximize the ROI of your private cloud setup. |
| 59 | + |
| 60 | +--- |
| 61 | +# Device Reservation Flow |
| 62 | + |
| 63 | +## Accessing the App Live Dashboard |
| 64 | +1. Open the [App Live Dashboard](https://applive.lambdatest.com/app). |
| 65 | +2. Enable the toggle for Private Devices (**Available only for private cloud devices**). |
| 66 | +3. You will see two buttons which are **My Reservations** and **Go to Reservations** |
| 67 | + |
| 68 | +:::tip |
| 69 | +- My reservations is used for View all your ongoing and upcoming reservations, with filter options to refine the list |
| 70 | +- Go to Reservations is used for Opening the calendar view where you can explore and manage device bookings. |
| 71 | +::: |
| 72 | + |
| 73 | +## Checking Your Reservations |
| 74 | + |
| 75 | +You can easily track your device bookings: |
| 76 | +- Go to **My Reservations** from the App Live Dashboard. |
| 77 | +- View all your upcoming and ongoing reservations. |
| 78 | +- Use available filters to refine and quickly find the reservations you need. |
| 79 | + |
| 80 | + |
| 81 | +## Making a Reservation |
| 82 | +1. Click Reserve Device. |
| 83 | +2. In the reservation window, choose the type of reservation: |
| 84 | + - **Immediate Reservation** – Reserve a device instantly for 1 to 12 hours. |
| 85 | +  |
| 86 | + - **Future Reservation** – Schedule a reservation for a later date/time within the allowed scheduling window. |
| 87 | +  |
| 88 | +3. Select **one or multiple devices** based on availability and your use case. |
| 89 | +4. Confirm the reservation. |
| 90 | + |
| 91 | +## Calendar View and Permissions |
| 92 | +The **calendar** view works differently for users and admins: |
| 93 | +- **Users:** |
| 94 | + - The user view consists of a calender showcasing blocks along with devices |
| 95 | + - The `blue blocks` are the user own reserved slots and have edit/delete access |
| 96 | + - The `grey blocks` are other team members slot and user does not have any access to edit/delete the same |
| 97 | +  |
| 98 | +- **Admins:** |
| 99 | + - In addition to the User view, Admins have access to a settings tab |
| 100 | + - Which have access to additional policy controls, such as: |
| 101 | + - **Advance Booking Window** – Define how far in advance users can schedule reservations. |
| 102 | + - **Max Reservation Duration** – Set the maximum duration allowed for a reservation (1–48 hours). |
| 103 | + - **Active Reservations per User** – Limit the number of active reservations per user (1–99). |
| 104 | + - **Devices per Reservation** – Define how many devices can be booked in one reservation. |
| 105 | +  |
| 106 | + - Also Admin can create, edit, and delete any reservation. |
| 107 | + |
| 108 | +:::info |
| 109 | +For Admin all blocks are blue, as they have access to edit and delete any of the following slots |
| 110 | +::: |
| 111 | +## Using Reservations in Automated Testing |
| 112 | + |
| 113 | +To use a reserved device in automation: |
| 114 | +1. Create a reservation for your device and note its UUID. |
| 115 | +2. In your automation script, add the following capabilities |
| 116 | + - **fixedIP**: This field accepts the UUID of the reserved device, guaranteeing that your automation session is executed on that specific device rather than any random match. |
| 117 | + - **privateCloud**: Set this to `true` to ensure the session is executed only on your private cloud devices, preventing it from falling back to shared public devices. |
| 118 | +<Tabs className="docs__val"> |
| 119 | +<TabItem value="ios" label="iOS" default> |
| 120 | + |
| 121 | +```python |
| 122 | +desired_caps = { |
| 123 | + "deviceName": "iPhone 16", |
| 124 | + "platformName": "iOS", |
| 125 | + "platformVersion": "18", |
| 126 | + "isRealMobile": True, |
| 127 | + "app": "YOUR_APP_URL", |
| 128 | + "build": "Smart Heal iOS", |
| 129 | + "name": "Sample Smart Heal Test", |
| 130 | + # highlight-next-line |
| 131 | + "fixedIP": "UUID", |
| 132 | + # highlight-next-line |
| 133 | + "privateCloud": true |
| 134 | +} |
| 135 | +``` |
| 136 | + |
| 137 | +</TabItem> |
| 138 | + |
| 139 | +<TabItem value="android" label="Android" default> |
| 140 | + |
| 141 | +```python |
| 142 | +desired_caps = { |
| 143 | + "deviceName": "Galaxy S25", |
| 144 | + "platformName": "Android", |
| 145 | + "platformVersion": "16", |
| 146 | + "isRealMobile": True, |
| 147 | + "app": "YOUR_APP_URL", |
| 148 | + "build": "Smart Heal Android", |
| 149 | + "name": "Sample Smart Heal Test", |
| 150 | + # highlight-next-line |
| 151 | + "fixedIP": "UUID", |
| 152 | + # highlight-next-line |
| 153 | + "privateCloud": true |
| 154 | +} |
| 155 | +``` |
| 156 | + |
| 157 | +</TabItem> |
| 158 | +</Tabs> |
| 159 | +This ensures that your automation run is executed on the reserved private cloud device. |
| 160 | + |
| 161 | +## Session Expiry and Extensions |
| 162 | +- In the last **15 minutes** of a reservation, a pop-up appears notifying you that the session is about to end. |
| 163 | +- If no pre-booked reservation exists for the device, you will have the option to extend your session. |
| 164 | +- If another booking is scheduled, the extension option will not appear. |
| 165 | +- Once the reserved time ends, the device session is automatically closed and released. |
| 166 | + |
| 167 | +## Special Scenarios |
| 168 | +- If an admin edits your reservation timeline, your current session will not be interrupted. |
| 169 | +- If an admin deletes your reservation, it is canceled immediately. |
| 170 | +- In automation, reservations cannot be extended automatically in the last 15 minutes. Extensions must be handled manually. |
0 commit comments