curl --request GET \
--url https://api.sonderplan.com/v2/rate-scheme \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sonderplan.com/v2/rate-scheme"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sonderplan.com/v2/rate-scheme', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sonderplan.com/v2/rate-scheme",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sonderplan.com/v2/rate-scheme"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sonderplan.com/v2/rate-scheme")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sonderplan.com/v2/rate-scheme")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 13409,
"name": "Sydney Grading Suites Standard Rates",
"type_id": 1,
"description": "Standard rates for grading suites located in Sydney",
"booking_description_template": "[rateSchemeName] - [rateSchemeDescription]\n [bookingName] - [rateSchemeStartDateCode]|(D jS M Y g:iA) --> [rateSchemeEndDateCode]|(D jS M Y g:iA)",
"resources": [
{
"id": 9458,
"name": "Edit Suite 1",
"description": "Sydney Office, Level 2",
"type_id": 1,
"type_person_id": 0,
"parent_id": 2908,
"parent_name": "Cameras",
"updated": 1388552400,
"icon": [
{
"id": 2342354,
"name": "Avid_Icon",
"size": 174285,
"alias": "7e73ab25155974c230d09494548201b9f5056ef",
"extension": "png",
"mime_type": "image/png"
}
]
}
],
"clients": [
{
"id": 2342354,
"name": "Sam Smith",
"type": "person"
}
],
"projects": [
{
"id": 2342354,
"name": "Andor S1 EP7 Annoucement",
"code": "AND-S1-EP7",
"description": "Colonel Yularen announces that the ISB has gained more surveillance and punitive authority, while Meero is challenged by Blevin for breaking protocol by accessing Imperial data without authorization.",
"start": 1547501100,
"end": 1547538900,
"parent_id": 9348,
"status_id": 1
}
],
"hour_rate": "124.20",
"hour_buy_rate": "90.00",
"hour_rate_percent": true,
"day_rate": "1200.00",
"day_buy_rate": "800.00",
"day_rate_percent": true,
"week_rate": "5000.00",
"week_buy_rate": "2100.00",
"fixed_date": true,
"date_start": "<string>",
"date_end": "<string>",
"time_start": "<string>",
"time_end": "<string>",
"overtime_hours": 123,
"override_base": true,
"default_unit": 123,
"default_tax": 123,
"taxes": [
{
"id": 3247,
"name": "GST",
"rate": "10.00",
"total": "151.00"
}
],
"currency": "AUD",
"created_id": 3,
"created": 1388552400,
"updated_id": 3,
"updated": 1388552400
}
],
"meta": {
"pagination": {
"total": 1,
"count": 1,
"per_page": 1,
"current_page": 1
}
}
}Get Rate Schemes
Rate schemes function like rate cards, allowing you to define costs and discounts for each resource. They can be tailored based on criteria such as date, time, client, or a combination of these.
Each rate scheme lets you specify hourly, daily, and weekly buy and sell rates, providing flexibility to match your pricing structure.
READ access to the ADMIN module is required to access this endpointcurl --request GET \
--url https://api.sonderplan.com/v2/rate-scheme \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sonderplan.com/v2/rate-scheme"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sonderplan.com/v2/rate-scheme', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sonderplan.com/v2/rate-scheme",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sonderplan.com/v2/rate-scheme"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sonderplan.com/v2/rate-scheme")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sonderplan.com/v2/rate-scheme")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 13409,
"name": "Sydney Grading Suites Standard Rates",
"type_id": 1,
"description": "Standard rates for grading suites located in Sydney",
"booking_description_template": "[rateSchemeName] - [rateSchemeDescription]\n [bookingName] - [rateSchemeStartDateCode]|(D jS M Y g:iA) --> [rateSchemeEndDateCode]|(D jS M Y g:iA)",
"resources": [
{
"id": 9458,
"name": "Edit Suite 1",
"description": "Sydney Office, Level 2",
"type_id": 1,
"type_person_id": 0,
"parent_id": 2908,
"parent_name": "Cameras",
"updated": 1388552400,
"icon": [
{
"id": 2342354,
"name": "Avid_Icon",
"size": 174285,
"alias": "7e73ab25155974c230d09494548201b9f5056ef",
"extension": "png",
"mime_type": "image/png"
}
]
}
],
"clients": [
{
"id": 2342354,
"name": "Sam Smith",
"type": "person"
}
],
"projects": [
{
"id": 2342354,
"name": "Andor S1 EP7 Annoucement",
"code": "AND-S1-EP7",
"description": "Colonel Yularen announces that the ISB has gained more surveillance and punitive authority, while Meero is challenged by Blevin for breaking protocol by accessing Imperial data without authorization.",
"start": 1547501100,
"end": 1547538900,
"parent_id": 9348,
"status_id": 1
}
],
"hour_rate": "124.20",
"hour_buy_rate": "90.00",
"hour_rate_percent": true,
"day_rate": "1200.00",
"day_buy_rate": "800.00",
"day_rate_percent": true,
"week_rate": "5000.00",
"week_buy_rate": "2100.00",
"fixed_date": true,
"date_start": "<string>",
"date_end": "<string>",
"time_start": "<string>",
"time_end": "<string>",
"overtime_hours": 123,
"override_base": true,
"default_unit": 123,
"default_tax": 123,
"taxes": [
{
"id": 3247,
"name": "GST",
"rate": "10.00",
"total": "151.00"
}
],
"currency": "AUD",
"created_id": 3,
"created": 1388552400,
"updated_id": 3,
"updated": 1388552400
}
],
"meta": {
"pagination": {
"total": 1,
"count": 1,
"per_page": 1,
"current_page": 1
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
One or more (comma seperated) ids of Rate Schemes to retrieve
Comma seperated list of fields you wish to return
Specify the page of results you wish to return
The number of results returned per page. Default if not specified is 10
Specify the field (with type of string or integer) you wish to order (ascending) the response with
Specify the field (with type of string or integer) you wish to order (descending) the response with
Specify if multiple filters should be combined with OR or AND logic
OR, AND