cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/labour_profiles" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labour_profile": {
"name": "Standard technician",
"display_name": "Standard technician",
"currency": "AUD",
"tax_inclusive": false,
"labour_profile_sessions": [
{
"name": "Business hours",
"start_date": "2026-11-02",
"end_date": "2027-11-02",
"labour_profile_session_prices": [
{
"price": 10,
"enabled_pro_rata": false,
"price_type": "HOURLY"
}
],
"labour_profile_session_availability": [
{
"preferred_day": "monday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "tuesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "wednesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "thursday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "friday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "saturday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "sunday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
}
]
}
]
}
}'from exsited import build_client
client = build_client()
response = client.labours.create_labour_profile(
{
"labour_profile": {
"name": "Standard technician",
"display_name": "Standard technician",
"currency": "AUD",
"tax_inclusive": False,
"labour_profile_sessions": [
{
"name": "Business hours",
"start_date": "2026-11-02",
"end_date": "2027-11-02",
"labour_profile_session_prices": [
{"price": 10, "enabled_pro_rata": False, "price_type": "HOURLY"}
],
"labour_profile_session_availability": [
{
"preferred_day": "monday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "tuesday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "wednesday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "thursday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "friday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "saturday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "sunday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
],
}
],
}
}
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.labours.createLabourProfile({
labour_profile: {
name: 'Standard technician',
display_name: 'Standard technician',
currency: 'AUD',
tax_inclusive: false,
labour_profile_sessions: [
{
name: 'Business hours',
start_date: '2026-11-02',
end_date: '2027-11-02',
labour_profile_session_prices: [{price: 10, enabled_pro_rata: false, price_type: 'HOURLY'}],
labour_profile_session_availability: [
{preferred_day: 'monday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'tuesday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'wednesday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'thursday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'friday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'saturday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'sunday', start_time: '08:00', end_time: '18:00', available: true},
],
},
],
},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->labours->createLabourProfile([
'labour_profile' => [
'name' => 'Standard technician',
'display_name' => 'Standard technician',
'currency' => 'AUD',
'tax_inclusive' => false,
'labour_profile_sessions' => [
[
'name' => 'Business hours',
'start_date' => '2026-11-02',
'end_date' => '2027-11-02',
'labour_profile_session_prices' => [
['price' => 10, 'enabled_pro_rata' => false, 'price_type' => 'HOURLY'],
],
'labour_profile_session_availability' => [
[
'preferred_day' => 'monday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'tuesday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'wednesday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'thursday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'friday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'saturday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'sunday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
],
],
],
],
]);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.labours.labours_dto.LaboursDto.LabourProfileView;
import java.util.List;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<LabourProfileView> response = client.labours().createLabourProfile(
Map.of(
"labour_profile", Map.of(
"name", "Standard technician",
"display_name", "Standard technician",
"currency", "AUD",
"tax_inclusive", false,
"labour_profile_sessions", List.of(
Map.of(
"name", "Business hours",
"start_date", "2026-11-02",
"end_date", "2027-11-02",
"labour_profile_session_prices", List.of(
Map.of(
"price", 10,
"enabled_pro_rata", false,
"price_type", "HOURLY")),
"labour_profile_session_availability", List.of(
Map.of(
"preferred_day", "monday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "tuesday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "wednesday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "thursday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "friday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "saturday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "sunday",
"start_time", "08:00",
"end_time", "18:00",
"available", true)))))));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Labours.CreateLabourProfileAsync(new Dictionary<string, object?>
{
["labour_profile"] = new Dictionary<string, object?>
{
["name"] = "Standard technician",
["display_name"] = "Standard technician",
["currency"] = "AUD",
["tax_inclusive"] = false,
["labour_profile_sessions"] = new List<object?>
{
new Dictionary<string, object?>
{
["name"] = "Business hours",
["start_date"] = "2026-11-02",
["end_date"] = "2027-11-02",
["labour_profile_session_prices"] = new List<object?>
{
new Dictionary<string, object?>
{
["price"] = 10,
["enabled_pro_rata"] = false,
["price_type"] = "HOURLY",
},
},
["labour_profile_session_availability"] = new List<object?>
{
new Dictionary<string, object?>
{
["preferred_day"] = "monday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "tuesday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "wednesday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "thursday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "friday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "saturday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "sunday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
},
},
},
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.labours.createLabourProfile({
'labour_profile': {
'name': 'Standard technician',
'display_name': 'Standard technician',
'currency': 'AUD',
'tax_inclusive': false,
'labour_profile_sessions': [
{
'name': 'Business hours',
'start_date': '2026-11-02',
'end_date': '2027-11-02',
'labour_profile_session_prices': [
{'price': 10, 'enabled_pro_rata': false, 'price_type': 'HOURLY'},
],
'labour_profile_session_availability': [
{
'preferred_day': 'monday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'tuesday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'wednesday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'thursday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'friday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'saturday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'sunday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
],
},
],
},
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Labours().CreateLabourProfile(context.Background(), map[string]any{
"labour_profile": map[string]any{
"name": "Standard technician",
"display_name": "Standard technician",
"currency": "AUD",
"tax_inclusive": false,
"labour_profile_sessions": []any{
map[string]any{
"name": "Business hours",
"start_date": "2026-11-02",
"end_date": "2027-11-02",
"labour_profile_session_prices": []any{
map[string]any{
"price": 10,
"enabled_pro_rata": false,
"price_type": "HOURLY",
},
},
"labour_profile_session_availability": []any{
map[string]any{
"preferred_day": "monday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "tuesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "wednesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "thursday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "friday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "saturday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "sunday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
},
},
},
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"labour_profile": {
"activity_logs": "<array>",
"created_by": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"created_on": "<string>",
"currency": {
"code": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>"
},
"display_name": "<string>",
"href": "<string>",
"id": "<string>",
"labours": [
{
"code": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>"
}
],
"last_updated_by": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"last_updated_on": "<string>",
"max_booking_limit": 123,
"name": "<string>",
"object": "<string>",
"sessions": [
{
"allow_overtime": true,
"availability": [
{
"available": true,
"end_time": "<string>",
"id": "<string>",
"object": "<string>",
"preferred_day": "<string>",
"start_time": "<string>",
"status": "<string>"
}
],
"end_date": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>",
"prices": [
{
"enabled_pro_rata": true,
"hours": [
{
"end_time": "<string>",
"id": "<string>",
"object": "<string>",
"price": 123,
"start_time": "<string>",
"status": "<string>"
}
],
"id": "<string>",
"object": "<string>",
"peak_hourly": "<array>",
"price": 123,
"price_type": "<string>",
"pricing_level": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"status": "<string>"
}
],
"start_date": "<string>",
"status": "<string>",
"working_hours": [
{
"end_time": "<string>",
"id": "<string>",
"object": "<string>",
"start_time": "<string>",
"status": "<string>"
}
]
}
],
"status": "<string>",
"tax": {
"href": "<string>",
"id": "<string>",
"object": "<string>"
},
"tax_inclusive": true,
"version": 123
}
}{
"object": "<string>",
"request_id": "<string>",
"status": 123,
"code": "<string>",
"message": "<string>",
"doc_url": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"doc_url": "<string>"
}
]
}Labours
Create a labour profile
Creates a labour profile with its sessions, prices and availability.
POST
/
labour_profiles
cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/labour_profiles" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labour_profile": {
"name": "Standard technician",
"display_name": "Standard technician",
"currency": "AUD",
"tax_inclusive": false,
"labour_profile_sessions": [
{
"name": "Business hours",
"start_date": "2026-11-02",
"end_date": "2027-11-02",
"labour_profile_session_prices": [
{
"price": 10,
"enabled_pro_rata": false,
"price_type": "HOURLY"
}
],
"labour_profile_session_availability": [
{
"preferred_day": "monday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "tuesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "wednesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "thursday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "friday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "saturday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
},
{
"preferred_day": "sunday",
"start_time": "08:00",
"end_time": "18:00",
"available": true
}
]
}
]
}
}'from exsited import build_client
client = build_client()
response = client.labours.create_labour_profile(
{
"labour_profile": {
"name": "Standard technician",
"display_name": "Standard technician",
"currency": "AUD",
"tax_inclusive": False,
"labour_profile_sessions": [
{
"name": "Business hours",
"start_date": "2026-11-02",
"end_date": "2027-11-02",
"labour_profile_session_prices": [
{"price": 10, "enabled_pro_rata": False, "price_type": "HOURLY"}
],
"labour_profile_session_availability": [
{
"preferred_day": "monday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "tuesday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "wednesday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "thursday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "friday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "saturday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
{
"preferred_day": "sunday",
"start_time": "08:00",
"end_time": "18:00",
"available": True,
},
],
}
],
}
}
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.labours.createLabourProfile({
labour_profile: {
name: 'Standard technician',
display_name: 'Standard technician',
currency: 'AUD',
tax_inclusive: false,
labour_profile_sessions: [
{
name: 'Business hours',
start_date: '2026-11-02',
end_date: '2027-11-02',
labour_profile_session_prices: [{price: 10, enabled_pro_rata: false, price_type: 'HOURLY'}],
labour_profile_session_availability: [
{preferred_day: 'monday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'tuesday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'wednesday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'thursday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'friday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'saturday', start_time: '08:00', end_time: '18:00', available: true},
{preferred_day: 'sunday', start_time: '08:00', end_time: '18:00', available: true},
],
},
],
},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->labours->createLabourProfile([
'labour_profile' => [
'name' => 'Standard technician',
'display_name' => 'Standard technician',
'currency' => 'AUD',
'tax_inclusive' => false,
'labour_profile_sessions' => [
[
'name' => 'Business hours',
'start_date' => '2026-11-02',
'end_date' => '2027-11-02',
'labour_profile_session_prices' => [
['price' => 10, 'enabled_pro_rata' => false, 'price_type' => 'HOURLY'],
],
'labour_profile_session_availability' => [
[
'preferred_day' => 'monday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'tuesday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'wednesday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'thursday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'friday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'saturday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
[
'preferred_day' => 'sunday',
'start_time' => '08:00',
'end_time' => '18:00',
'available' => true,
],
],
],
],
],
]);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.labours.labours_dto.LaboursDto.LabourProfileView;
import java.util.List;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<LabourProfileView> response = client.labours().createLabourProfile(
Map.of(
"labour_profile", Map.of(
"name", "Standard technician",
"display_name", "Standard technician",
"currency", "AUD",
"tax_inclusive", false,
"labour_profile_sessions", List.of(
Map.of(
"name", "Business hours",
"start_date", "2026-11-02",
"end_date", "2027-11-02",
"labour_profile_session_prices", List.of(
Map.of(
"price", 10,
"enabled_pro_rata", false,
"price_type", "HOURLY")),
"labour_profile_session_availability", List.of(
Map.of(
"preferred_day", "monday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "tuesday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "wednesday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "thursday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "friday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "saturday",
"start_time", "08:00",
"end_time", "18:00",
"available", true),
Map.of(
"preferred_day", "sunday",
"start_time", "08:00",
"end_time", "18:00",
"available", true)))))));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Labours.CreateLabourProfileAsync(new Dictionary<string, object?>
{
["labour_profile"] = new Dictionary<string, object?>
{
["name"] = "Standard technician",
["display_name"] = "Standard technician",
["currency"] = "AUD",
["tax_inclusive"] = false,
["labour_profile_sessions"] = new List<object?>
{
new Dictionary<string, object?>
{
["name"] = "Business hours",
["start_date"] = "2026-11-02",
["end_date"] = "2027-11-02",
["labour_profile_session_prices"] = new List<object?>
{
new Dictionary<string, object?>
{
["price"] = 10,
["enabled_pro_rata"] = false,
["price_type"] = "HOURLY",
},
},
["labour_profile_session_availability"] = new List<object?>
{
new Dictionary<string, object?>
{
["preferred_day"] = "monday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "tuesday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "wednesday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "thursday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "friday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "saturday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
new Dictionary<string, object?>
{
["preferred_day"] = "sunday",
["start_time"] = "08:00",
["end_time"] = "18:00",
["available"] = true,
},
},
},
},
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.labours.createLabourProfile({
'labour_profile': {
'name': 'Standard technician',
'display_name': 'Standard technician',
'currency': 'AUD',
'tax_inclusive': false,
'labour_profile_sessions': [
{
'name': 'Business hours',
'start_date': '2026-11-02',
'end_date': '2027-11-02',
'labour_profile_session_prices': [
{'price': 10, 'enabled_pro_rata': false, 'price_type': 'HOURLY'},
],
'labour_profile_session_availability': [
{
'preferred_day': 'monday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'tuesday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'wednesday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'thursday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'friday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'saturday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
{
'preferred_day': 'sunday',
'start_time': '08:00',
'end_time': '18:00',
'available': true,
},
],
},
],
},
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Labours().CreateLabourProfile(context.Background(), map[string]any{
"labour_profile": map[string]any{
"name": "Standard technician",
"display_name": "Standard technician",
"currency": "AUD",
"tax_inclusive": false,
"labour_profile_sessions": []any{
map[string]any{
"name": "Business hours",
"start_date": "2026-11-02",
"end_date": "2027-11-02",
"labour_profile_session_prices": []any{
map[string]any{
"price": 10,
"enabled_pro_rata": false,
"price_type": "HOURLY",
},
},
"labour_profile_session_availability": []any{
map[string]any{
"preferred_day": "monday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "tuesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "wednesday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "thursday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "friday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "saturday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
map[string]any{
"preferred_day": "sunday",
"start_time": "08:00",
"end_time": "18:00",
"available": true,
},
},
},
},
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"labour_profile": {
"activity_logs": "<array>",
"created_by": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"created_on": "<string>",
"currency": {
"code": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>"
},
"display_name": "<string>",
"href": "<string>",
"id": "<string>",
"labours": [
{
"code": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>"
}
],
"last_updated_by": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"last_updated_on": "<string>",
"max_booking_limit": 123,
"name": "<string>",
"object": "<string>",
"sessions": [
{
"allow_overtime": true,
"availability": [
{
"available": true,
"end_time": "<string>",
"id": "<string>",
"object": "<string>",
"preferred_day": "<string>",
"start_time": "<string>",
"status": "<string>"
}
],
"end_date": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>",
"prices": [
{
"enabled_pro_rata": true,
"hours": [
{
"end_time": "<string>",
"id": "<string>",
"object": "<string>",
"price": 123,
"start_time": "<string>",
"status": "<string>"
}
],
"id": "<string>",
"object": "<string>",
"peak_hourly": "<array>",
"price": 123,
"price_type": "<string>",
"pricing_level": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"status": "<string>"
}
],
"start_date": "<string>",
"status": "<string>",
"working_hours": [
{
"end_time": "<string>",
"id": "<string>",
"object": "<string>",
"start_time": "<string>",
"status": "<string>"
}
]
}
],
"status": "<string>",
"tax": {
"href": "<string>",
"id": "<string>",
"object": "<string>"
},
"tax_inclusive": true,
"version": 123
}
}{
"object": "<string>",
"request_id": "<string>",
"status": 123,
"code": "<string>",
"message": "<string>",
"doc_url": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"doc_url": "<string>"
}
]
}Send the profile under
labour_profile with at least one entry in labour_profile_sessions; each session has its dates, labour_profile_session_prices and labour_profile_session_availability. A profile without sessions is refused with 400. The new profile comes back under labour_profile.
The SDK samples get their client from credentials your app registers once when it starts, as shown in Authentication. To try the call here, click Try it, set
host to your Exsited API host name and paste an access token from Get an access token. To send a raw JSON body instead of filling in fields, copy the cURL sample and edit its -d payload.