Setup
Nabla React Native Scheduling module set up
Before integrating the Scheduling module, make sure you followed the SDK installation guide.
Scheduling is dependent on the Video calls module, so that patients and providers can video call on appointments, which is why we'll also be adding this module in the steps below.
The scheduling module allows your Patients to see and manage their appointments with Providers.
Adding the dependencies
Add the scheduling and video call dependencies:
yarn add @nabla/react-native-scheduling
yarn add @nabla/react-native-video-call
or
npm install --save @nabla/react-native-scheduling
npm install --save @nabla/react-native-video-call
Once done, run pod install
in your ios
directory, in order to install the native dependencies.
iOS project settings
Few project settings are required before being able to use the video call module on iOS.
Set up camera and microphone usage descriptions
It is mandatory to define some NSMicrophoneUsageDescription
and NSCameraUsageDescription
before requesting the camera & microphone permissions. Otherwise, your app will crash.
You can define those in your Info.plist
file. More info here and there.
Register your app for VOIP background execution
By default, iOS apps are inactive when sent to background. This means that your patients won't be able to hear or speak if they switch to another app while inside a video call.
To prevent this, you must add the UIBackgroundModes
key to your Info.plist
file, then add a voip
item. If done correctly, Xcode should recognize those keys and replace them with human-readable descriptions:

Link to the documentation.
Disable BITCODE for debug builds
We are using the WebRTC library to implement NablaVideoCall
. This library does not support BITCODE
for debug
builds. You must disable it in your Build Settings
. Find the Enable Bitcode
key, expand it, and set it to no
for debug
builds.

Setup Scheduling module
Then, you need to initialize the scheduling and video call modules before calling NablaClient.initialize
:
await NablaSchedulingClient.initializeSchedulingModule();
await NablaVideoCallClient.initializeVideoCallModule();
await NablaClient.getInstance().initialize(
new Configuration("YOUR_API_KEY") /* provideAuthTokens */
);
Make your organization ready
Before using the SDK to schedule appointments, make sure:
- You specify consultation categories in your organization settings. Each category has a name, duration and associated providers.
- At least one of the specified providers has availability. Each provider can specify their —single or recurrent— availabilities on the calendar tab.
Updated 16 days ago