Public GraphQL API Reference
This page documents the Public API for the Famly Platform.
The API is implemented using GraphQL, and is available at:
General environment (https://app.famly.co): - https://famlyapi.famly.co/v1/graphql
DACH environment (https://app.famly.de): - https://famlyapi.famly.de/v1/graphql
We strongly recommend getting familiar with GraphQL using their excellent documentation at https://graphql.org before getting started with the Famly API.
💡 If the following pages are not available for you, reach out to support@famly.co to hear more about what's required to enable this.
Access via API Tokens
Below we'll go into the details of how to access and setup your API tokens.
Accessing Organization API Token
You will find the overview of your API tokens by:
- Navigating to Home → Overview
- Choose your Organization from the Dropdown
- Go into Settings
- Go into Manage API Tokens
From here you can manage your API tokens. See the section Configuring an API Token for more details.
Accessing Site API Token
You will find the overview of your API tokens by:
- Navigate to the the Settings page from in the bottom left of your Navigation sidebar
- Choose your Site from the Dropdown
- Expand the Integrations menu item and click on Manage API Tokens
From here you can manage your API tokens. See the section Configuring an API Token for more details.
Configuring an API Token
In this page you can manage your existing API tokens and add new ones.
To setup a new token:
- Click Add new token
- Give your token a name
- Use the Publisher name to specify what users should see in the App if the any interactions are done via the API
- Configure the expiration date of the API token
- Configure the permissions for the API token
- Click Create new token to finalize the setup
Once you have created your token, you can get the generated API token from the overview as well as update or delete the token.
Terms of Service
API Endpoints
# Production API:
https://famlyapi.famly.co/v1/graphql
Headers
# Your API token from the dashboard. Must be included in all API calls.
X-Famly-Accesstoken: <YOUR_TOKEN_HERE>
Version
1.0.0
Exploring the Public API
GraphiQL
We host GraphiQL, which you can use to experiment with queries. Note that you won't be able to run most queries without authenticating. You can click "Docs" in the upper left corner to see relevant documentation.
On the left side in GraphiQL you will see examples of queries and mutations in the top, and the variables and arguments in the bottom. These are helpful for inspiration and to get quickly started using the API.
Voyager
We also host Voyager, which gives you are move visual overview of how the API is built.
Voyager allows you to explore the whole API graph.
Examples
To get you started quickly, we've included some examples of making query requests and handling pagination. If you are using a different language, check out GraphQL's official overview of frameworks.
TypeScript Example
We'll use the library graphql-request to make requests to the API. Install it or add it as a dependency to your project via npm add graphql-request graphql.
import { GraphQLClient, gql } from "graphql-request";
const main = async () => {
// Construct the query we will use to call the API.
const query = gql`
query ListInvoiceBySiteIds($siteIds: [SiteId!]!) {
invoices {
listBySiteIds(siteIds: $siteIds) {
result {
invoiceDate
invoiceId
}
# If this token is not empty, use this as an argument to fetch the next set of invoices.
next
}
}
}
`;
// Pass the variables that we've set up in the query above (everthing with a $ in front of it).
const variables = {
siteIds: ["ac81821f-8a20-46b1-ab97-c9b41c24ef8d"],
};
// Set up a GraphQL client with the API token added to the header.
const client = new GraphQLClient("https://famlyapi.famly.co/v1/graphql", {
headers: {
// This will grab the access token from your environment variables, assuming it is
// accessible from FAMLY_ACCESS_TOKEN.
"X-Famly-Accesstoken": process.env.FAMLY_ACCESS_TOKEN,
},
});
// Get the data from the API and handle pagination if needed.
const results = [];
while (variables.nextToken !== null) {
// Make the request and ddd the invoices from the current request to the results
// array in the outer scope.
const data = await client.request(query, variables);
results.push(...data.invoices.listBySiteIds.result);
// Store the next token in the variables for the next request.
variables.nextToken = data.invoices.listBySiteIds.next;
}
// Output the data to the terminal/console to see what the response was.
console.log(JSON.stringify(results, undefined, 2));
};
main().catch((error) => console.error(error));
Queries
accidentReports
Description
For querying accident reports
Response
Returns an AccidentReportQueries!
Example
Query
query AccidentReports {
accidentReports {
listBySiteIds {
result {
reportId
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
child {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
...TimeRangeClosedLocalTimeFragment
}
tuesday {
...TimeRangeClosedLocalTimeFragment
}
wednesday {
...TimeRangeClosedLocalTimeFragment
}
thursday {
...TimeRangeClosedLocalTimeFragment
}
friday {
...TimeRangeClosedLocalTimeFragment
}
saturday {
...TimeRangeClosedLocalTimeFragment
}
sunday {
...TimeRangeClosedLocalTimeFragment
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
createdAt
createdBy {
name {
firstName
middleName
lastName
fullName
shortName
}
id
profileImage {
url
}
}
kind
description
firstAid
date
time
location
parentsNotified
note
witness {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
profileImage {
url
}
}
staffPresent {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
profileImage {
url
}
}
acknowledgedAt
acknowledgedBy {
name {
firstName
middleName
lastName
fullName
shortName
}
id
profileImage {
url
}
}
files {
id
url
name
}
images {
id
secret {
prefix
key
path
expires
crop
}
width
height
url
}
lado
ofsted
riddor
onArrival
status
sentAt
}
next
}
}
}
Response
{
"data": {
"accidentReports": {
"listBySiteIds": AccidentReportsResult
}
}
}
accounts
Description
For querying account codes
Response
Returns an AccountQueries!
Example
Query
query Accounts {
accounts {
listBySiteIds {
accountId
title
reference
}
}
}
Response
{"data": {"accounts": {"listBySiteIds": [AccountType]}}}
bankhours
Response
Returns a BankHoursPublicQueries!
Example
Query
query Bankhours {
bankhours {
byEmployee {
current {
minutes
validFrom
employeeId
}
}
}
}
Response
{
"data": {
"bankhours": {"byEmployee": BankHoursPublicResult}
}
}
billPayers
Description
For querying bill payer data
Response
Returns a BillPayerQueries!
Example
Query
query BillPayers {
billPayers {
listBySiteIds {
result {
billPayerId
siteId
name
phone
address {
street
zip
city
state
country
}
email
accountNumber
sortCode
accountDetails {
accountName
accountNumber
sortCode
iban
bic
}
note
children {
childId
share {
multiplier
}
}
invoiceRecipients {
relationId
contactId
billPayerId
name
email
}
externalId
categories {
id
name
siteSetId
}
tags {
id
name
siteSetId
}
availablePaymentsSources {
type
active
status
title
}
balance
socialSecurityNumber
billingReference
}
next
}
}
}
Response
{
"data": {
"billPayers": {
"listBySiteIds": BillPayerListingResult
}
}
}
checkins
Description
For querying checkins for children and employees
Response
Returns a CheckinQueries!
Example
Query
query Checkins {
checkins {
children {
list {
result {
id
childId
siteId
groupId
checkinTime
pickupTime
checkoutTime
}
next
}
}
employees {
list {
result {
id
employeeId
siteId
groupId
checkinTime
estimatedCheckoutTime
checkoutTime
workTag {
tagId
siteId
name
color
code
}
managerNote {
note
updatedBy
updatedAt
}
}
next
}
}
}
}
Response
{
"data": {
"checkins": {
"children": ChildCheckinQueries,
"employees": EmployeeCheckinQueries
}
}
}
children
Description
For querying children
Response
Returns a ChildrenQueries!
Example
Query
query Children {
children {
listBySiteIds {
result {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
next
}
listByChildIds {
result {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
next
}
list {
result {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
next
}
}
}
Response
{
"data": {
"children": {
"listBySiteIds": ChildrenListResult,
"listByChildIds": ChildrenListResult,
"list": ChildrenListResult
}
}
}
contacts
Description
For querying contacts
Response
Returns a ContactQueries!
Example
Query
query Contacts {
contacts {
list {
result {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
next
}
}
}
Response
{"data": {"contacts": {"list": ContactListResult}}}
contractedhours
Response
Returns a ContractedHoursPublicQueries!
Example
Query
query Contractedhours {
contractedhours {
byEmployee {
current {
hours
minutes
validFrom
validTo
}
scheduled {
hours
minutes
date
}
}
}
}
Response
{
"data": {
"contractedhours": {
"byEmployee": ContractedHoursPublicResult
}
}
}
customRegistrationForms
Response
Returns a CustomRegistrationForms!
Example
Query
query CustomRegistrationForms {
customRegistrationForms {
listFormsBySiteSetId {
results {
formId
formName
formType
isPublished
isShared
lastEditedAt
numberOfSitesSharedWith
siteIds
numberOfResponses
}
next
}
}
}
Response
{
"data": {
"customRegistrationForms": {
"listFormsBySiteSetId": CustomRegistrationFormsListResult
}
}
}
employees
Description
For querying employees
Response
Returns an EmployeeQueries!
Example
Query
query Employees {
employees {
list {
employees {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
gender
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
shortName
}
id
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
employeeWorkDayHours
employeeWorkDayMin
holidayAllowance
loginId
lastModifiedAt
}
next
}
}
}
Response
{"data": {"employees": {"list": EmployeesResult}}}
formResponses
Description
Publicly available paginated list of form responses for a specific form within a site. Optionally filter by submission date range using startDate and endDate parameters. (The default page size is set to 25.)
Response
Returns a FormResponses!
Arguments
| Name | Description |
|---|---|
formId - CustomRegistrationFormId!
|
|
siteSetId - SiteSetId!
|
|
startDate - LocalDate
|
|
endDate - LocalDate
|
|
pageSize - Int
|
Default = 25 |
next - FormResponseCursor
|
Example
Query
query FormResponses(
$formId: CustomRegistrationFormId!,
$siteSetId: SiteSetId!,
$startDate: LocalDate,
$endDate: LocalDate,
$pageSize: Int,
$next: FormResponseCursor
) {
formResponses(
formId: $formId,
siteSetId: $siteSetId,
startDate: $startDate,
endDate: $endDate,
pageSize: $pageSize,
next: $next
) {
responses {
responseId
siteName
formName
submissionDate
formVersion
sections {
sectionId
sectionName
fields {
fieldId
fieldName
fieldType
value
}
}
}
next
}
}
Variables
{
"formId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"startDate": "2022-10-07",
"endDate": "2022-10-07",
"pageSize": 25,
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
Response
{
"data": {
"formResponses": {
"responses": [FormResponse],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
}
}
groups
Description
For querying groups
Response
Returns a GroupQueries!
Example
Query
query Groups {
groups {
list {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
}
}
Response
{"data": {"groups": {"list": [Group]}}}
inquiries
Description
For querying inquiries for children
Response
Returns a ChildInquiryQueries!
Example
Query
query Inquiries {
inquiries {
listBySiteIds {
siteId
siteName
createdAt
lastModifiedAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
note
group {
id
siteId
siteName
title
description
profileImage {
url
}
}
enrolledAt
enrolledBy
}
listBySiteIdsPaginated {
results {
siteId
siteName
createdAt
lastModifiedAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
...TimeRangeClosedLocalTimeFragment
}
tuesday {
...TimeRangeClosedLocalTimeFragment
}
wednesday {
...TimeRangeClosedLocalTimeFragment
}
thursday {
...TimeRangeClosedLocalTimeFragment
}
friday {
...TimeRangeClosedLocalTimeFragment
}
saturday {
...TimeRangeClosedLocalTimeFragment
}
sunday {
...TimeRangeClosedLocalTimeFragment
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
note
group {
id
siteId
siteName
title
description
profileImage {
url
}
}
enrolledAt
enrolledBy
}
next
}
}
}
Response
{
"data": {
"inquiries": {
"listBySiteIds": [ChildInquiry],
"listBySiteIdsPaginated": InquiriesPaginatedResult
}
}
}
invoices
Description
For querying invoice data
Response
Returns an InvoiceQueries!
Example
Query
query Invoices {
invoices {
listBySiteIds {
result {
invoiceId
title
total
invoiceDate
dueDate
billPayerId
lines {
type
childId
info
amount
account {
accountId
title
reference
}
period {
from
to
}
}
items {
type
title
childId
amount
subtotal
total
account {
accountId
title
reference
}
period {
from
to
}
sessionId
productId
}
pdfResult {
... on InvoicePdfSuccessType {
succeeded
}
... on InvoicePdfFailedType {
errors
}
}
invoiceNumber
creditStatus {
... on InvoiceStatusIsCreditNote {
credits
}
... on InvoiceStatusIsCredited {
creditedBy
}
}
}
next
}
listByInvoiceIds {
invoiceId
title
total
invoiceDate
dueDate
billPayerId
lines {
type
childId
info
amount
account {
accountId
title
reference
}
period {
from
to
}
}
items {
type
title
childId
amount
subtotal
total
account {
accountId
title
reference
}
period {
from
to
}
sessionId
productId
}
pdfResult {
... on InvoicePdfSuccessType {
succeeded
}
... on InvoicePdfFailedType {
errors
}
}
invoiceNumber
creditStatus {
... on InvoiceStatusIsCreditNote {
credits
}
... on InvoiceStatusIsCredited {
creditedBy
}
}
}
}
}
Response
{
"data": {
"invoices": {
"listBySiteIds": InvoiceListingResult,
"listByInvoiceIds": [Invoice]
}
}
}
leaveBalances
Description
For querying leave balances
Response
Returns a LeaveBalancesQueries!
Example
Query
query LeaveBalances {
leaveBalances {
balanceOverridesByEmployee {
employeeId
leaveType
balance
}
balanceOverrideByEmployeeAndLeaveType {
employeeId
leaveType
balance
}
}
}
Response
{
"data": {
"leaveBalances": {
"balanceOverridesByEmployee": [StaffLeaveBalance],
"balanceOverrideByEmployeeAndLeaveType": StaffLeaveBalance
}
}
}
leaves
Description
For querying absences for children and employees
Response
Returns a LeavesQueries!
Example
Query
query Leaves {
leaves {
employees {
listBySiteIds {
result {
leaveId
employeeId
siteId
date
leaveType
leaveSubTypeName
leaveSubTypeCode
reason
startTime
endTime
hours
minutes
deletedAt
}
next
}
}
children {
listBySiteIds {
result {
leaveId
childId
siteId
vacationId
date
leaveType
reason
}
next
}
availableIllnesses {
name
label
}
availableIllnessesForChild {
name
label
}
isIllnessRequiredForChild
}
}
}
Response
{
"data": {
"leaves": {
"employees": EmployeeLeaveQueries,
"children": ChildLeavesQueries
}
}
}
meals
Description
For querying meals
Response
Returns a MealQueries!
Example
Query
query Meals {
meals {
planned {
list {
next
result {
siteId
mealPlanId
date
meals {
mealType {
title
order
}
mealItems {
title
}
}
images {
id
secret {
prefix
key
path
expires
crop
}
width
height
url
}
files {
id
url
name
}
}
}
}
}
}
Response
{"data": {"meals": {"planned": MealPlanQueries}}}
payments
Description
For querying payment data
Response
Returns a PaymentQueries!
Example
Query
query Payments {
payments {
listBySiteIds {
result {
id
amount
childId
paymentMethod
note
refundReason
paymentDate
createdAt
deletedAt
transactionStatus
billPayer {
billPayerId
siteId
name
email
accountNumber
sortCode
note
}
currency
viaFamlyPay
inAppPayment {
paymentId
}
isDeposited
depositDate
depositId
invoices {
invoiceId
}
externalSystem {
id
system
name
externalType
}
metadata {
key
value
}
}
next
}
}
}
Response
{
"data": {
"payments": {"listBySiteIds": PaymentListingResult}
}
}
roles
Response
Returns a Roles!
Example
Query
query Roles {
roles {
list {
next
roles {
roleId
title
locked
source
target
siteSetIds
createdAt
}
}
}
}
Response
{"data": {"roles": {"list": ListRolesResult}}}
shiftplanner
Response
Returns a ShiftPlannerPublicQueries!
Example
Query
query Shiftplanner {
shiftplanner {
byGroups {
result {
groups {
groupId
title
openShifts {
date
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
tagId
name
color
code
}
note {
note
updatedBy
updatedAt
}
}
}
employees {
employee {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
groupId
group {
id
title
description
institutionId
site {
...InstitutionSetFragment
}
staffRatio
ordering
profileImage {
...ProfileImageFragment
}
}
profileImage {
url
}
email
title
birthDate
gender
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
...PersonFragment
}
institutionSetId
roleId
}
customEmployeeId
employeeWorkDayHours
employeeWorkDayMin
holidayAllowance
loginId
lastModifiedAt
}
scheduledMinutes
assignedShifts {
date
scheduledMinutesOnDay
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
...WorkTagPublicAPIResultResultTypeFragment
}
note {
...ManagerNoteTypeFragment
}
}
}
}
}
}
next
}
byStaff {
result {
openShifts {
date
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
tagId
name
color
code
}
note {
note
updatedBy
updatedAt
}
}
}
employees {
employee {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
...ProfileImageFragment
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
gender
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
...NameFragment
}
id
profileImage {
...ProfileImageFragment
}
}
institutionSetId
roleId
}
customEmployeeId
employeeWorkDayHours
employeeWorkDayMin
holidayAllowance
loginId
lastModifiedAt
}
scheduledMinutes
assignedShifts {
date
scheduledMinutesOnDay
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
tagId
name
color
code
}
note {
note
updatedBy
updatedAt
}
}
}
}
}
next
}
}
}
Response
{
"data": {
"shiftplanner": {
"byGroups": ShiftPlannerByGroupsPublicResult,
"byStaff": ShiftPlannerByStaffPublicResult
}
}
}
sites
Description
For querying sites
Response
Returns a SiteQueries!
Example
Query
query Sites {
sites {
list {
next
result {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
}
}
Response
{"data": {"sites": {"list": SiteResult}}}
staffAbsenceSettings
Description
For querying staff absence settings
Response
Returns a StaffLeaveSettingQueries!
Example
Query
query StaffAbsenceSettings {
staffAbsenceSettings {
staffAbsenceSubtypes {
list {
id
leaveType
name
code
paid
}
}
staffAbsenceSettingResult {
siteSetId
employeeAbsenceDayHours
absenceRange
holidayApprovalRequired
absentApprovalRequired
childSickApprovalRequired
sickApprovalRequired
holidayIsPaid
absentIsPaid
childSickIsPaid
sickIsPaid
holidayEntitlementMinutes
subTypeIsRequired
subTypeIsRestricted
}
}
}
Response
{
"data": {
"staffAbsenceSettings": {
"staffAbsenceSubtypes": StaffAbsenceSubTypesPublicQueries,
"staffAbsenceSettingResult": staffAbsenceSettingsPublicType
}
}
}
staffhourstotals
Response
Returns a StaffHoursTotalsPublicQueriesType!
Example
Query
query Staffhourstotals {
staffhourstotals {
byStaff {
dateRange {
from
to
}
byStaff {
employee {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
gender
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
shortName
}
id
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
employeeWorkDayHours
employeeWorkDayMin
holidayAllowance
loginId
lastModifiedAt
}
bankHours {
minutes
validFrom
employeeId
}
totals {
contractedMinutes
attendedMinutes
scheduledMinutes
breakMinutes
isSignOutMissing
leaveMinutes {
paid
sick
childSick
holiday
absent
}
periodTotal
contractedDifference
scheduleDifference
}
}
next
}
}
}
Response
{
"data": {
"staffhourstotals": {
"byStaff": StaffHoursTotalsResult
}
}
}
workTags
Response
Returns a WorkTagPublicAPIQueriesType!
Example
Query
query WorkTags {
workTags {
bySiteSetId {
tagId
name
color
code
}
}
}
Response
{
"data": {
"workTags": {
"bySiteSetId": [WorkTagPublicAPIResultResultType]
}
}
}
workavailability
Response
Returns a WorkAvailabilityPublicQueries!
Example
Query
query Workavailability {
workavailability {
byEmployee {
employeeId
current {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
validFrom
validTo
}
}
byEmployees {
employeeId
current {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
validFrom
validTo
}
}
bySite {
employeeId
current {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
validFrom
validTo
}
}
default {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
validFrom
validTo
}
}
}
Response
{
"data": {
"workavailability": {
"byEmployee": WorkAvailabilityPublicResult,
"byEmployees": [WorkAvailabilityPublicResult],
"bySite": [WorkAvailabilityPublicResult],
"default": WorkAvailabilityPublic
}
}
}
Mutations
bankhours
Response
Returns a BankHoursPublicMutations!
Example
Query
mutation Bankhours {
bankhours {
save {
current {
minutes
validFrom
employeeId
}
}
}
}
Response
{"data": {"bankhours": {"save": BankHoursPublicResult}}}
billPayers
Description
For managing bill payers
Response
Returns a BillPayerMutations!
Example
Query
mutation BillPayers {
billPayers {
create {
billPayerId
siteId
name
phone
address {
street
zip
city
state
country
}
email
accountNumber
sortCode
accountDetails {
accountName
accountNumber
sortCode
iban
bic
}
note
children {
childId
share {
multiplier
}
}
invoiceRecipients {
relationId
contactId
billPayerId
name
email
}
externalId
categories {
id
name
siteSetId
}
tags {
id
name
siteSetId
}
availablePaymentsSources {
type
active
status
title
}
balance
socialSecurityNumber
billingReference
}
update {
billPayerId
siteId
name
phone
address {
street
zip
city
state
country
}
email
accountNumber
sortCode
accountDetails {
accountName
accountNumber
sortCode
iban
bic
}
note
categories {
id
name
siteSetId
}
tags {
id
name
siteSetId
}
availablePaymentsSources {
type
active
status
title
}
}
delete
moveInvoicesAndPayments {
invoices {
invoiceId
}
payments {
paymentId
}
}
addChildren {
billPayerId
childId
share {
multiplier
}
}
deleteChildren {
billPayerId
childId
share {
multiplier
}
}
addInvoiceRecipients {
relationId
contactId
billPayerId
name
email
}
deleteInvoiceRecipients {
billPayerId
relationId
}
}
}
Response
{
"data": {
"billPayers": {
"create": [BillPayer],
"update": [BillPayerUpdate],
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"moveInvoicesAndPayments": MovedInvoicesAndPayments,
"addChildren": [BillPayerChildShareType],
"deleteChildren": [BillPayerChildShareType],
"addInvoiceRecipients": [InvoiceRecipient],
"deleteInvoiceRecipients": [
InvoiceRecipientDeleteResult
]
}
}
}
checkins
Description
For editing employee checkin/attendance data
Response
Returns a CheckinMutations!
Example
Query
mutation Checkins {
checkins {
employees {
createAttendance {
id
employeeId
siteId
groupId
checkinTime
checkoutTime
workTag {
tagId
siteId
name
color
code
}
managerNote {
note
updatedBy
updatedAt
}
}
updateAttendance {
id
employeeId
siteId
groupId
checkinTime
checkoutTime
workTag {
tagId
siteId
name
color
code
}
managerNote {
note
updatedBy
updatedAt
}
}
deleteAttendance
}
}
}
Response
{
"data": {
"checkins": {"employees": EmployeeCheckinMutations}
}
}
children
Description
For creating and updating children
Response
Returns a ChildrenMutation!
Example
Query
mutation Children {
children {
create {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
update {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
delete
moveGroup {
childId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
date
time
}
cancelGroupMove {
childId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
date
time
}
}
}
Response
{
"data": {
"children": {
"create": [Child],
"update": [Child],
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"moveGroup": [GroupMove],
"cancelGroupMove": [GroupMove]
}
}
}
contacts
Description
For creating and updating contacts
Response
Returns a ContactsMutation!
Example
Query
mutation Contacts {
contacts {
create {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
update {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
}
}
Response
{
"data": {
"contacts": {
"create": [Contact],
"update": [Contact]
}
}
}
contractedhours
Response
Returns a ContractedHoursPublicMutations!
Example
Query
mutation Contractedhours {
contractedhours {
scheduleChange {
current {
hours
minutes
validFrom
validTo
}
scheduled {
hours
minutes
date
}
}
deleteScheduledChange {
current {
hours
minutes
validFrom
validTo
}
scheduled {
hours
minutes
date
}
}
saveCurrent {
current {
hours
minutes
validFrom
validTo
}
scheduled {
hours
minutes
date
}
}
}
}
Response
{
"data": {
"contractedhours": {
"scheduleChange": ContractedHoursPublicResult,
"deleteScheduledChange": ContractedHoursPublicResult,
"saveCurrent": ContractedHoursPublicResult
}
}
}
email
Description
For sending transactional emails via the public API
Response
Returns an EmailMutations!
Example
Query
mutation Email {
email {
sendToStaff {
emailId
}
sendToContact {
emailId
}
}
}
Response
{
"data": {
"email": {
"sendToStaff": SendEmailResult,
"sendToContact": SendEmailResult
}
}
}
employees
Description
For managing employees
Response
Returns an EmployeeMutations!
Example
Query
mutation Employees {
employees {
create {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
gender
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
shortName
}
id
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
employeeWorkDayHours
employeeWorkDayMin
holidayAllowance
loginId
lastModifiedAt
}
update {
id
name {
firstName
middleName
lastName
fullName
shortName
}
siteId
groupId
group {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
gender
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
shortName
}
id
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
employeeWorkDayHours
employeeWorkDayMin
holidayAllowance
loginId
lastModifiedAt
}
delete
}
}
Response
{
"data": {
"employees": {
"create": [Employee],
"update": [Employee],
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
]
}
}
}
files
Description
For managing files
Response
Returns a FileMutations!
Example
Query
mutation Files {
files {
getSignedUrl {
signedUploadUrl
hmac
}
getSignedUrls {
filename
upload {
signedUploadUrl
hmac
}
}
}
}
Response
{
"data": {
"files": {
"getSignedUrl": FileUpload,
"getSignedUrls": [BatchFileUpload]
}
}
}
groups
Description
For managing groups (rooms)
Response
Returns a GroupMutations!
Example
Query
mutation Groups {
groups {
create {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
update {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
}
}
Response
{
"data": {
"groups": {
"create": [Group],
"update": [Group]
}
}
}
inquiries
Description
For creating inquiries for children
Response
Returns a ChildInquiryMutation!
Example
Query
mutation Inquiries {
inquiries {
create {
siteId
siteName
createdAt
lastModifiedAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
note
group {
id
siteId
siteName
title
description
profileImage {
url
}
}
enrolledAt
enrolledBy
}
updateInquiry {
siteId
siteName
createdAt
lastModifiedAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
note
group {
id
siteId
siteName
title
description
profileImage {
url
}
}
enrolledAt
enrolledBy
}
deleteInquiries {
siteId
siteName
createdAt
lastModifiedAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
shortName
}
gender
birthday
currentGroup {
id
title
description
institutionId
site {
institutionSetId
title
profileImage {
url
}
siteType
}
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
records {
key
value
}
sensitiveRecords {
key
value
}
sitesRelation {
firstDay
lastDay
site {
siteId
title
address {
street
zip
city
state
country
}
contactPerson {
firstName
middleName
lastName
fullName
shortName
}
email
phone {
value
phoneType
formatted
}
socialMedia {
facebook
instagram
twitter
}
description
openingHours {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
}
position {
latitude
longitude
}
externalSystemsReferences {
foreignId
system
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
shortName
}
email
address {
street
zip
city
state
country
}
phoneNumbers {
value
phoneType
formatted
}
childIds
profileImage {
url
}
roles {
role {
roleId
title
locked
source
target
siteSetIds
createdAt
}
targetId
}
roleInvitations {
roleInvitationId
roleTitle
roleId
verification {
verificationMethod
}
siteTitle
privacyPolicyLink
}
emergencyContact
lastModifiedAt
records {
key
value
}
}
reasonForLeaving {
id
name
}
additionalLeavingInformation
lastModifiedAt
primaryHomeLanguage {
code
name
}
externalId
diagnosedConditions {
cognitive
physical
psychological
sensory
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
note
group {
id
siteId
siteName
title
description
profileImage {
url
}
}
enrolledAt
enrolledBy
}
createInquiryAction {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
updateInquiryAction {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
deleteInquiryAction {
id
inquiryId
type
lastUpdatedAt
note
subject
createdAt
due
}
}
}
Response
{
"data": {
"inquiries": {
"create": [ChildInquiry],
"updateInquiry": ChildInquiry,
"deleteInquiries": [ChildInquiry],
"createInquiryAction": InquiryAction,
"updateInquiryAction": InquiryAction,
"deleteInquiryAction": InquiryAction
}
}
}
invoices
Description
For managing invoices
Response
Returns an InvoiceMutations!
Example
Query
mutation Invoices {
invoices {
create {
invoiceId
title
total
invoiceDate
dueDate
billPayerId
lines {
type
childId
info
amount
account {
accountId
title
reference
}
period {
from
to
}
}
items {
type
title
childId
amount
subtotal
total
account {
accountId
title
reference
}
period {
from
to
}
sessionId
productId
}
pdfResult {
... on InvoicePdfSuccessType {
succeeded
}
... on InvoicePdfFailedType {
errors
}
}
invoiceNumber
creditStatus {
... on InvoiceStatusIsCreditNote {
credits
}
... on InvoiceStatusIsCredited {
creditedBy
}
}
}
setPdf {
success
}
reportError {
invoiceId
success
}
createCreditNote {
invoiceId
invoiceNumber
}
}
}
Response
{
"data": {
"invoices": {
"create": [Invoice],
"setPdf": SetPdfResult,
"reportError": ErrorReportResponse,
"createCreditNote": CreateCreditNoteOutput
}
}
}
leaveBalances
Description
For modifying leave balances
Response
Returns a LeaveBalancesMutations!
Example
Query
mutation LeaveBalances {
leaveBalances {
setEmployeeBalanceOverride
}
}
Response
{"data": {"leaveBalances": {"setEmployeeBalanceOverride": 123.45}}}
leaves
Description
For mutating absences for children and employees
Response
Returns a LeavesMutations!
Example
Query
mutation Leaves {
leaves {
employees {
delete
create {
leaveId
employeeId
siteId
date
leaveType
leaveSubTypeName
leaveSubTypeCode
reason
startTime
endTime
hours
minutes
deletedAt
}
update {
leaveId
employeeId
siteId
date
leaveType
leaveSubTypeName
leaveSubTypeCode
reason
startTime
endTime
hours
minutes
deletedAt
}
}
}
}
Response
{
"data": {
"leaves": {"employees": EmployeeLeaveMutations}
}
}
payments
Description
For managing payments
Response
Returns a PaymentMutations!
Example
Query
mutation Payments {
payments {
create {
id
amount
childId
paymentMethod
note
refundReason
paymentDate
createdAt
deletedAt
transactionStatus
billPayer {
billPayerId
siteId
name
email
accountNumber
sortCode
note
}
currency
viaFamlyPay
inAppPayment {
paymentId
}
isDeposited
depositDate
depositId
invoices {
invoiceId
}
externalSystem {
id
system
name
externalType
}
metadata {
key
value
}
}
update {
id
amount
childId
paymentMethod
note
refundReason
paymentDate
createdAt
deletedAt
transactionStatus
billPayer {
billPayerId
siteId
name
email
accountNumber
sortCode
note
}
currency
viaFamlyPay
inAppPayment {
paymentId
}
isDeposited
depositDate
depositId
invoices {
invoiceId
}
externalSystem {
id
system
name
externalType
}
metadata {
key
value
}
}
delete {
id
}
}
}
Response
{
"data": {
"payments": {
"create": [Payment],
"update": [Payment],
"delete": [PaymentDeleteResult]
}
}
}
shiftplanner
Response
Returns a ShiftPlannerPublicMutations!
Example
Query
mutation Shiftplanner {
shiftplanner {
publish {
publishedShifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
tagId
name
color
code
}
note {
note
updatedBy
updatedAt
}
}
}
shift {
create {
shift {
shiftId
date
startTime
endTime
breakMinutes
state
assignedTo
location
workTag {
tagId
name
color
code
}
managerNote {
note
updatedBy
updatedAt
}
}
}
update {
shift {
shiftId
date
startTime
endTime
breakMinutes
state
assignedTo
location
workTag {
tagId
name
color
code
}
managerNote {
note
updatedBy
updatedAt
}
}
}
delete {
shift {
shiftId
date
startTime
endTime
breakMinutes
state
assignedTo
location
workTag {
tagId
name
color
code
}
managerNote {
note
updatedBy
updatedAt
}
}
}
}
}
}
Response
{
"data": {
"shiftplanner": {
"publish": ShiftPlannerPublishResultPublicType,
"shift": ShiftPublicMutations
}
}
}
staffAbsenceSettings
Description
For mutating staff absence settings
Response
Returns a StaffLeaveSettingMutations!
Example
Query
mutation StaffAbsenceSettings {
staffAbsenceSettings {
staffAbsenceSubtypes {
create {
id
leaveType
name
code
paid
}
delete
update {
id
leaveType
name
code
paid
}
}
updateEmployeeAbsenceDayHours
updateHolidayEntitlementMinutes
updateHolidayAbsenceRange
updateApprovalRequired
updateSubTypeIsRequired
updateSubTypeIsRestricted
updateIsPaid
}
}
Response
{
"data": {
"staffAbsenceSettings": {
"staffAbsenceSubtypes": StaffAbsenceSubTypePublicMutations,
"updateEmployeeAbsenceDayHours": 987.65,
"updateHolidayEntitlementMinutes": 987,
"updateHolidayAbsenceRange": "JAN1DEC31",
"updateApprovalRequired": true,
"updateSubTypeIsRequired": false,
"updateSubTypeIsRestricted": true,
"updateIsPaid": false
}
}
}
workTags
Response
Returns a WorkTagPublicAPIMutationsType!
Example
Query
mutation WorkTags {
workTags {
create {
tagId
name
color
code
}
update {
tagId
name
color
code
}
delete {
tagId
name
color
code
}
}
}
Response
{
"data": {
"workTags": {
"create": WorkTagPublicAPIResultResultType,
"update": WorkTagPublicAPIResultResultType,
"delete": WorkTagPublicAPIResultResultType
}
}
}
workavailability
Response
Returns a WorkAvailabilityPublicMutations!
Example
Query
mutation Workavailability {
workavailability {
save {
employeeId
current {
monday {
from
to
}
tuesday {
from
to
}
wednesday {
from
to
}
thursday {
from
to
}
friday {
from
to
}
saturday {
from
to
}
sunday {
from
to
}
validFrom
validTo
}
}
}
}
Response
{
"data": {
"workavailability": {
"save": WorkAvailabilityPublicResult
}
}
}
Types
AccidentReport
Description
Represents an accident report
Fields
| Field Name | Description |
|---|---|
reportId - AccidentReportId!
|
|
site - Site!
|
|
child - Child!
|
|
createdAt - ZonedDateTime!
|
|
createdBy - Person!
|
|
kind - String!
|
|
description - String!
|
|
firstAid - String!
|
|
date - LocalDate!
|
|
time - LocalTime
|
|
location - String!
|
|
parentsNotified - String!
|
|
note - String
|
|
witness - [EmployeeLimitedInfo!]!
|
|
staffPresent - [EmployeeLimitedInfo!]!
|
|
acknowledgedAt - ZonedDateTime
|
|
acknowledgedBy - Person
|
|
files - [File!]!
|
|
images - [Image!]!
|
|
lado - Boolean
|
|
ofsted - Boolean
|
|
riddor - Boolean
|
|
onArrival - Boolean
|
|
status - AccidentReportStatus!
|
|
sentAt - ZonedDateTime
|
The time when this report was first sent to parents |
Example
{
"reportId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"site": Site,
"child": Child,
"createdAt": "2022-10-07T01:08:03.420+02:00",
"createdBy": Person,
"kind": "abc123",
"description": "xyz789",
"firstAid": "abc123",
"date": "2022-10-07",
"time": "01:08:03.420",
"location": "abc123",
"parentsNotified": "xyz789",
"note": "abc123",
"witness": [EmployeeLimitedInfo],
"staffPresent": [EmployeeLimitedInfo],
"acknowledgedAt": "2022-10-07T01:08:03.420+02:00",
"acknowledgedBy": Person,
"files": [File],
"images": [Image],
"lado": true,
"ofsted": true,
"riddor": false,
"onArrival": true,
"status": "DRAFT",
"sentAt": "2022-10-07T01:08:03.420+02:00"
}
AccidentReportCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
AccidentReportId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
AccidentReportQueries
Description
For querying accident reports
Fields
| Field Name | Description |
|---|---|
listBySiteIds - AccidentReportsResult!
|
A paginated list of accident reports for the given sites. The results are ordered by creation date (newest first). The maximum page size is 100 records. |
Arguments
|
|
Example
{"listBySiteIds": AccidentReportsResult}
AccidentReportStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"DRAFT"
AccidentReportsResult
Description
Represents the paginated result of listing accident reports
Fields
| Field Name | Description |
|---|---|
result - [AccidentReport!]!
|
A paginated list of accident reports. |
next - AccidentReportCursor
|
Cursor for fetching the next page of results. |
Example
{
"result": [AccidentReport],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
AccountId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
AccountQueries
Description
For querying account codes
Fields
| Field Name | Description |
|---|---|
listBySiteIds - [AccountType!]!
|
List all accounts for the given sites |
Arguments
|
|
Example
{"listBySiteIds": [AccountType]}
AccountType
Fields
| Field Name | Description |
|---|---|
accountId - AccountId!
|
|
title - String!
|
|
reference - String!
|
Example
{
"accountId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123",
"reference": "xyz789"
}
Address
AddressInput
AssignedShiftsPublicType
Fields
| Field Name | Description |
|---|---|
date - LocalDate!
|
|
scheduledMinutesOnDay - Float!
|
|
shifts - [ShiftPublicType!]!
|
Example
{
"date": "2022-10-07",
"scheduledMinutesOnDay": 987.65,
"shifts": [ShiftPublicType]
}
AttendanceCreateInputType
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
Staff member id |
groupId - GroupId!
|
Room id of attendance |
dateTimeRange - NonEmptyLocalDateTimeRangeInput!
|
Attendance date-time range |
workTagId - WorkTagId
|
Work tag id |
managerNote - String
|
Manager Note |
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"dateTimeRange": NonEmptyLocalDateTimeRangeInput,
"workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"managerNote": "abc123"
}
AttendanceUpdateInputType
Fields
| Input Field | Description |
|---|---|
employeeCheckInId - EmployeeCheckInId!
|
Attendance id |
groupId - GroupId!
|
Room id of attendance |
dateTimeRange - NonEmptyLocalDateTimeRangeInput!
|
Attendance date-time range |
workTagId - WorkTagId
|
Work tag id |
managerNote - String
|
Manager Note |
Example
{
"employeeCheckInId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"dateTimeRange": NonEmptyLocalDateTimeRangeInput,
"workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"managerNote": "xyz789"
}
AvailablePaymentsSourceType
Description
A possible payments type for a billpayer
Fields
| Field Name | Description |
|---|---|
type - PaymentsSourceType!
|
|
active - Boolean!
|
|
status - PaymentsSourceStatus!
|
|
title - String!
|
Example
{
"type": "DEBIT_CARD",
"active": true,
"status": "READY",
"title": "xyz789"
}
BadMoney
Description
A string containing an amount of money given as a decimal number
Example
BadMoney
BankHoursPublic
Fields
| Field Name | Description |
|---|---|
minutes - Int!
|
|
validFrom - ZonedDateTime!
|
|
employeeId - EmployeeId!
|
Example
{
"minutes": 123,
"validFrom": "2022-10-07T01:08:03.420+02:00",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
BankHoursPublicInput
Fields
| Input Field | Description |
|---|---|
minutes - Int!
|
Example
{"minutes": 123}
BankHoursPublicMutations
Description
Bank hours public mutations
Fields
| Field Name | Description |
|---|---|
save - BankHoursPublicResult!
|
Save employee bank hours. Replaces current value if present. |
Arguments
|
|
Example
{"save": BankHoursPublicResult}
BankHoursPublicQueries
Description
Bank hours public queries
Fields
| Field Name | Description |
|---|---|
byEmployee - BankHoursPublicResult!
|
Returns current value for employee bank hours, if defined. |
Arguments
|
|
Example
{"byEmployee": BankHoursPublicResult}
BankHoursPublicResult
Fields
| Field Name | Description |
|---|---|
current - BankHoursPublic
|
Example
{"current": BankHoursPublic}
BasicChildRecordKey
Values
| Enum Value | Description |
|---|---|
|
|
DACH extra fields feature has been removed; this key is no longer persisted or returned. |
|
|
|
|
|
|
|
|
|
|
|
DACH extra fields feature has been removed; this key is no longer persisted or returned. |
|
|
Example
"MIGRATION_BACKGROUND"
BatchFileUpload
Description
Data required to make an out-of-band file upload of multiple files
Fields
| Field Name | Description |
|---|---|
filename - String!
|
Name of the file to be uploaded |
upload - FileUpload!
|
Object holding data required for file upload |
Example
{
"filename": "abc123",
"upload": FileUpload
}
BillPayer
Description
Output for creating a bill payer
Fields
| Field Name | Description |
|---|---|
billPayerId - BillPayerId
|
Unique identifier for a bill payer in Famly |
siteId - SiteId!
|
Uniquely identifies the site for which the bill payer receives invoices |
name - String!
|
|
phone - String
|
|
address - Address
|
|
email - String
|
|
accountNumber - String
|
The bill payers bank account number |
sortCode - String
|
The bill payer's bank sort code |
accountDetails - BillPayerAccountDetails
|
Direct debit / SEPA account details. Only populated when the DIRECT_DEBIT feature is enabled for the site. |
note - String
|
Free-text notes kept regarding the bill payer |
children - [BillPayerChild!]!
|
|
invoiceRecipients - [InvoiceRecipient!]!
|
|
externalId - String
|
|
categories - [BillPayerCategory!]!
|
Categories (tags) assigned to this bill payer Deprecated since 2026-01-20. Use the tags field instead. |
tags - [BillPayerTag!]!
|
Tags assigned to this bill payer |
availablePaymentsSources - [AvailablePaymentsSourceType!]!
|
Available payment sources for this bill payer |
balance - BadMoney!
|
|
socialSecurityNumber - String
|
The bill payer's social security number. Requires the permission to view sensitive bill payer information. |
billingReference - String
|
The bill payer's billing reference |
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"phone": "abc123",
"address": Address,
"email": "example@famly.co",
"accountNumber": "abc123",
"sortCode": "abc123",
"accountDetails": BillPayerAccountDetails,
"note": "abc123",
"children": [BillPayerChild],
"invoiceRecipients": [InvoiceRecipient],
"externalId": "xyz789",
"categories": [BillPayerCategory],
"tags": [BillPayerTag],
"availablePaymentsSources": [
AvailablePaymentsSourceType
],
"balance": BadMoney,
"socialSecurityNumber": "abc123",
"billingReference": "xyz789"
}
BillPayerAccountDetails
Description
Direct debit / SEPA account details for a bill payer
Example
{
"accountName": "abc123",
"accountNumber": "abc123",
"sortCode": "xyz789",
"iban": "abc123",
"bic": "xyz789"
}
BillPayerCategory
Description
A category for a bill payer
Fields
| Field Name | Description |
|---|---|
id - BillPayerCategoryId!
|
|
name - String!
|
|
siteSetId - SiteSetId!
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "abc123",
"siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
BillPayerCategoryId
Description
A string containing a 26-character Universally Unique Lexicographically Sortable Identifier
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
BillPayerChild
Description
A child associated with a bill payer
Fields
| Field Name | Description |
|---|---|
childId - ChildId!
|
Uniquely identifies a child within Famly |
share - ChildShare
|
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"share": ChildShare
}
BillPayerChildInput
Description
Input for creating a bill payer child
Fields
| Input Field | Description |
|---|---|
childId - ChildId!
|
Uniquely identifies a child within Famly |
share - ChildShareInput
|
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"share": ChildShareInput
}
BillPayerCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
BillPayerId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
BillPayerInput
Description
Input for creating a bill payer
Fields
| Input Field | Description |
|---|---|
siteId - SiteId!
|
Uniquely identifies the site for which the bill payer receives invoices |
name - NameInput!
|
|
phone - PhoneNumber
|
|
address - AddressInput
|
|
email - EmailAddress
|
|
accountNumber - String
|
The bill payers bank account number |
sortCode - String
|
The bill payer's bank sort code |
note - String
|
Free-text notes kept regarding the bill payer |
children - [BillPayerChildInput!]
|
|
invoiceRecipients - [InvoiceRecipientInput!]
|
|
externalId - String
|
Identifier for keeping the bill payer in sync with an external system |
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput,
"phone": "+17895551234",
"address": AddressInput,
"email": "example@famly.co",
"accountNumber": "xyz789",
"sortCode": "xyz789",
"note": "xyz789",
"children": [BillPayerChildInput],
"invoiceRecipients": [InvoiceRecipientInput],
"externalId": "xyz789"
}
BillPayerListingResult
Fields
| Field Name | Description |
|---|---|
result - [BillPayer!]!
|
|
next - BillPayerCursor
|
Example
{
"result": [BillPayer],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
BillPayerMutations
Description
For managing bill payers
Fields
| Field Name | Description |
|---|---|
create - [BillPayer!]!
|
Create bill payers |
Arguments
|
|
update - [BillPayerUpdate!]!
|
Update bill payers |
Arguments
|
|
delete - [BillPayerId!]!
|
Deletes the given bill payers You can not delete a bill payer that has active shares for a child. You must first use the deleteChildren method to delete bill payer shares for all associated children. |
Arguments
|
|
moveInvoicesAndPayments - MovedInvoicesAndPayments!
|
Moves invoices and payments from one bill payer to another You cannot move invoices and payments if any of the following is true for fromBillPayerId:
Both bill payers must be in the same institution. You may not move invoices and payments between deleted bill payers. Deleted invoices and payments do not get moved over. |
Arguments
|
|
addChildren - [BillPayerChildShareType!]!
|
Add per-child invoice shares for bill payers Shares are represented as a list of objects containing a child ID, a bill payer ID, and, optionally, a share amount. Share amounts are assigned to ensure the total share for each child (including existing and newly added records) adds up to within 0.0001 of 1.0. Requested share amounts are assigned first; the remaining portion of the share for each child will be divided evenly among any existing bill payers for the child and any bill payers assigned to the child in a request for which a share was not provided. You can not add an archived bill payer to the list of shares for a child. |
Arguments
|
|
deleteChildren - [BillPayerChildShareType!]!
|
Remove per-child invoice shares for bill payers Shares to delete are represented as a list of objects containing a child ID and a bill payer ID. When a bill payer share is deleted, the bill payer share for a child will be divided among the remaining bill payers. It is legal to delete all bill payer shares for a child, but it will no longer be possible to generate invoices for the child. |
Arguments
|
|
addInvoiceRecipients - [InvoiceRecipient!]!
|
Add the given invoice recipients for the specified bill payers. An invoice recipient is a link between a relation/contact and a bill payer. |
Arguments
|
|
deleteInvoiceRecipients - [InvoiceRecipientDeleteResult!]!
|
Delete the given invoice recipients for the specified bill payers. |
Arguments
|
|
Example
{
"create": [BillPayer],
"update": [BillPayerUpdate],
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"moveInvoicesAndPayments": MovedInvoicesAndPayments,
"addChildren": [BillPayerChildShareType],
"deleteChildren": [BillPayerChildShareType],
"addInvoiceRecipients": [InvoiceRecipient],
"deleteInvoiceRecipients": [
InvoiceRecipientDeleteResult
]
}
BillPayerQueries
Description
For querying bill payer data
Fields
| Field Name | Description |
|---|---|
listBySiteIds - BillPayerListingResult!
|
A paginated list of bill payers |
Arguments
|
|
Example
{"listBySiteIds": BillPayerListingResult}
BillPayerReferenceInput
Description
Details for referencing a bill payer in Famly
Fields
| Input Field | Description |
|---|---|
billPayerId - BillPayerId
|
|
externalId - String
|
|
siteId - SiteId
|
|
tags - [ReferenceTag!]
|
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"externalId": "abc123",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"tags": [ReferenceTag]
}
BillPayerSummary
Description
An entity who has paid, or will be paying, an invoice
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"email": "example@famly.co",
"accountNumber": "abc123",
"sortCode": "xyz789",
"note": "xyz789"
}
BillPayerTag
Description
A tag for a bill payer
Fields
| Field Name | Description |
|---|---|
id - BillPayerTagId!
|
|
name - String!
|
|
siteSetId - SiteSetId!
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "abc123",
"siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
BillPayerTagId
Description
A string containing a 26-character Universally Unique Lexicographically Sortable Identifier
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
BillPayerUpdate
Description
Output for updating a bill payer
Fields
| Field Name | Description |
|---|---|
billPayerId - BillPayerId
|
Unique identifier for a bill payer in Famly |
siteId - SiteId!
|
Uniquely identifies the site for which the bill payer receives invoices |
name - String!
|
|
phone - String
|
|
address - Address
|
|
email - String
|
|
accountNumber - String
|
The bill payers bank account number |
sortCode - String
|
The bill payer's bank sort code |
accountDetails - BillPayerAccountDetails
|
Direct debit / SEPA account details. Only populated when the DIRECT_DEBIT feature is enabled for the site. |
note - String
|
Free-text notes kept regarding the bill payer |
categories - [BillPayerCategory!]!
|
Categories (tags) assigned to this bill payer Deprecated since 2026-01-20. Use the tags field instead. |
tags - [BillPayerTag!]!
|
Tags assigned to this bill payer |
availablePaymentsSources - [AvailablePaymentsSourceType!]!
|
Available payment sources for this bill payer |
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"phone": "abc123",
"address": Address,
"email": "example@famly.co",
"accountNumber": "xyz789",
"sortCode": "abc123",
"accountDetails": BillPayerAccountDetails,
"note": "xyz789",
"categories": [BillPayerCategory],
"tags": [BillPayerTag],
"availablePaymentsSources": [
AvailablePaymentsSourceType
]
}
BillPayerUpdateInput
Description
Input for updating a bill payer
Fields
| Input Field | Description |
|---|---|
billPayerId - BillPayerId!
|
Unique identifier for a bill payer in Famly |
siteId - SiteId!
|
Deprecated — this field is ignored. The bill payer's site is resolved automatically from the database. Moving bill payers between sites is not supported. |
name - NameInput!
|
|
phone - PhoneNumber
|
|
address - AddressInput
|
|
email - EmailAddress
|
|
accountNumber - String
|
The bill payers bank account number |
sortCode - String
|
The bill payer's bank sort code |
note - String
|
Free-text notes kept regarding the bill payer |
externalId - String
|
Identifier for keeping the bill payer in sync with an external system |
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput,
"phone": "+17895551234",
"address": AddressInput,
"email": "example@famly.co",
"accountNumber": "abc123",
"sortCode": "abc123",
"note": "xyz789",
"externalId": "xyz789"
}
Boolean
Description
The Boolean scalar type represents true or false.
CheckinCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
CheckinMutations
Description
For editing employee checkin/attendance data
Fields
| Field Name | Description |
|---|---|
employees - EmployeeCheckinMutations!
|
For creating and updating attendance records for employees |
Example
{"employees": EmployeeCheckinMutations}
CheckinQueries
Description
For querying checkins for children and employees
Fields
| Field Name | Description |
|---|---|
children - ChildCheckinQueries!
|
For querying checkins for children |
employees - EmployeeCheckinQueries!
|
For querying checkins for employees |
Example
{
"children": ChildCheckinQueries,
"employees": EmployeeCheckinQueries
}
Child
Description
Represents a child
Fields
| Field Name | Description |
|---|---|
id - ChildId!
|
Child Id |
name - Name!
|
Child name |
gender - Gender
|
Child gender |
birthday - LocalDate
|
The child's birthday |
currentGroup - Group
|
|
profileImage - ProfileImage
|
|
records - [Record!]!
|
Basic child info records. Currently available are:
|
Arguments
|
|
sensitiveRecords - [Record!]!
|
Sensitive child info records. Currently available are:
|
Arguments
|
|
sitesRelation - [SiteRelation!]!
|
|
contacts - [Contact!]!
|
|
reasonForLeaving - ReasonForLeaving
|
The reason why the child left the site, if applicable |
additionalLeavingInformation - String
|
Additional information about the child's reason for leaving. |
lastModifiedAt - ZonedDateTime!
|
The timestamp at which this child was last modified. Use this to drive incremental syncs. |
primaryHomeLanguage - ChildLanguageValue
|
The child's primary home language. Null when unset or not viewable by the caller. |
externalId - String
|
A partner-defined external identifier for the child. Null when unset or not viewable by the caller. |
diagnosedConditions - ChildDiagnosedConditions!
|
The child's diagnosed conditions across four categories. |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": Name,
"gender": "FEMALE",
"birthday": "2022-10-07",
"currentGroup": Group,
"profileImage": ProfileImage,
"records": [Record],
"sensitiveRecords": [Record],
"sitesRelation": [SiteRelation],
"contacts": [Contact],
"reasonForLeaving": ReasonForLeaving,
"additionalLeavingInformation": "abc123",
"lastModifiedAt": "2022-10-07T01:08:03.420+02:00",
"primaryHomeLanguage": ChildLanguageValue,
"externalId": "abc123",
"diagnosedConditions": ChildDiagnosedConditions
}
ChildCheckin
Description
Represents a child checkin
Fields
| Field Name | Description |
|---|---|
result - [ChildCheckinResult!]!
|
A paginated list of Child checkins |
next - ChildCheckinCursor
|
If this token is not empty, use this as an argument to fetch the next set of children. |
Example
{
"result": [ChildCheckinResult],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
ChildCheckinCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ChildCheckinId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ChildCheckinQueries
Description
For querying checkins for children
Fields
| Field Name | Description |
|---|---|
list - ChildCheckin!
|
Get all checkins |
Arguments
|
|
Example
{"list": ChildCheckin}
ChildCheckinResult
Description
Represents a paginated result of children checkin
Fields
| Field Name | Description |
|---|---|
id - ChildCheckinId!
|
Checkin Id |
childId - ChildId!
|
Child id |
siteId - SiteId!
|
Site id |
groupId - GroupId!
|
Group id |
checkinTime - ZonedDateTime!
|
The time the child checked in |
pickupTime - ZonedDateTime
|
The (optional) expected pickup time of the child. |
checkoutTime - ZonedDateTime
|
The optional time the child was checked out |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"checkinTime": "2022-10-07T01:08:03.420+02:00",
"pickupTime": "2022-10-07T01:08:03.420+02:00",
"checkoutTime": "2022-10-07T01:08:03.420+02:00"
}
ChildContactRoleInvitation
Fields
| Field Name | Description |
|---|---|
relationId - RelationId!
|
|
contactFirstName - String!
|
|
childName - Name!
|
|
childProfileImage - ProfileImage
|
|
roleInvitationId - RoleInvitationId!
|
|
roleTitle - String!
|
|
roleId - RoleId!
|
|
verification - RoleInvitationVerification!
|
|
siteTitle - String!
|
|
privacyPolicyLink - String
|
Example
{
"relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"contactFirstName": "xyz789",
"childName": Name,
"childProfileImage": ProfileImage,
"roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleTitle": "abc123",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"verification": RoleInvitationVerification,
"siteTitle": "abc123",
"privacyPolicyLink": "abc123"
}
ChildCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ChildDateOfBirthVerification
Fields
| Field Name | Description |
|---|---|
childFirstName - String!
|
|
verificationMethod - RoleInvitationVerificationMethod!
|
Example
{
"childFirstName": "xyz789",
"verificationMethod": "DATE_OF_BIRTH"
}
ChildDiagnosedConditionLevel
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NONE"
ChildDiagnosedConditions
Description
A child's diagnosed conditions. Each level is null when unset or not viewable by the caller.
Fields
| Field Name | Description |
|---|---|
cognitive - ChildDiagnosedConditionLevel
|
|
physical - ChildDiagnosedConditionLevel
|
|
psychological - ChildDiagnosedConditionLevel
|
|
sensory - ChildDiagnosedConditionLevel
|
Example
{
"cognitive": "NONE",
"physical": "NONE",
"psychological": "NONE",
"sensory": "NONE"
}
ChildDiagnosedConditionsInput
Description
Diagnosed condition levels to set for a child. Omitted fields are left unchanged.
Fields
| Input Field | Description |
|---|---|
cognitive - ChildDiagnosedConditionLevel
|
|
physical - ChildDiagnosedConditionLevel
|
|
psychological - ChildDiagnosedConditionLevel
|
|
sensory - ChildDiagnosedConditionLevel
|
Example
{
"cognitive": "NONE",
"physical": "NONE",
"psychological": "NONE",
"sensory": "NONE"
}
ChildId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ChildInput
Description
Input for creating a child
Fields
| Input Field | Description |
|---|---|
name - NameInput!
|
|
gender - Gender
|
|
birthday - LocalDate
|
|
currentGroupId - GroupId!
|
|
records - [RecordInput!]!
|
|
sensitiveRecords - [RecordInput!]!
|
|
sitesRelation - [SiteRelationInput!]!
|
|
isTestChild - Boolean
|
|
primaryHomeLanguage - String
|
|
externalId - String
|
|
diagnosedConditions - ChildDiagnosedConditionsInput
|
Example
{
"name": NameInput,
"gender": "FEMALE",
"birthday": "2022-10-07",
"currentGroupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"records": [RecordInput],
"sensitiveRecords": [RecordInput],
"sitesRelation": [SiteRelationInput],
"isTestChild": true,
"primaryHomeLanguage": "xyz789",
"externalId": "xyz789",
"diagnosedConditions": ChildDiagnosedConditionsInput
}
ChildInquiry
Description
Represents a child inquiry
Fields
| Field Name | Description |
|---|---|
siteId - InstitutionId!
|
Site ID |
siteName - String
|
Site title |
createdAt - ZonedDateTime!
|
The date of the inquiry |
lastModifiedAt - ZonedDateTime!
|
The timestamp at which this inquiry was last modified. Use this to drive incremental syncs. |
id - InquiryId!
|
Inquiry Id |
status - Status!
|
Status of inquiry |
childId - ChildId!
|
Child ID |
child - Child
|
Child |
source - String!
|
Source |
bookingSource - String!
|
BookingSource |
reason - String!
|
Reason |
lostCategory - String!
|
LostCategory |
lostReason - String!
|
LostReason |
actions - [InquiryAction!]!
|
Actions |
note - String!
|
Note |
group - InquiryGroup
|
Group |
enrolledAt - ZonedDateTime
|
Date when the child was enrolled |
enrolledBy - String
|
Name of the user who enrolled the child |
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteName": "abc123",
"createdAt": "2022-10-07T01:08:03.420+02:00",
"lastModifiedAt": "2022-10-07T01:08:03.420+02:00",
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"status": "WAITING_LIST",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"child": Child,
"source": "abc123",
"bookingSource": "abc123",
"reason": "abc123",
"lostCategory": "xyz789",
"lostReason": "abc123",
"actions": [InquiryAction],
"note": "abc123",
"group": InquiryGroup,
"enrolledAt": "2022-10-07T01:08:03.420+02:00",
"enrolledBy": "abc123"
}
ChildInquiryContact
Description
Input for creating a new contact on an inquiry
Fields
| Input Field | Description |
|---|---|
name - NameInput!
|
|
email - ValidEmailAddress!
|
|
address - AddressInput
|
|
mobilePhone - PhoneNumber
|
|
homePhone - PhoneNumber
|
|
workPhone - PhoneNumber
|
Example
{
"name": NameInput,
"email": "example@famly.co",
"address": AddressInput,
"mobilePhone": "+17895551234",
"homePhone": "+17895551234",
"workPhone": "+17895551234"
}
ChildInquiryMutation
Description
For creating inquiries for children
Fields
| Field Name | Description |
|---|---|
create - [ChildInquiry!]!
|
After creating inquiries, returns a list of them |
Arguments
|
|
updateInquiry - ChildInquiry!
|
After creating inquiries, returns a list of them |
Arguments
|
|
deleteInquiries - [ChildInquiry!]!
|
Deletes inquiries given their IDs. |
Arguments
|
|
createInquiryAction - InquiryAction!
|
Creates a new inquiry action. |
Arguments |
|
updateInquiryAction - InquiryAction!
|
Updates an existing inquiry action. |
Arguments
|
|
deleteInquiryAction - InquiryAction!
|
Deletes an inquiry action. |
Arguments
|
|
Example
{
"create": [ChildInquiry],
"updateInquiry": ChildInquiry,
"deleteInquiries": [ChildInquiry],
"createInquiryAction": InquiryAction,
"updateInquiryAction": InquiryAction,
"deleteInquiryAction": InquiryAction
}
ChildInquiryQueries
Description
For querying inquiries for children
Fields
| Field Name | Description |
|---|---|
listBySiteIds - [ChildInquiry!]!
|
Get all inquiries for given sites |
Arguments
|
|
listBySiteIdsPaginated - InquiriesPaginatedResult!
|
Get all inquiries for given sites in a paginated fashion. If not specified, the page size is 25. |
Arguments
|
|
Example
{
"listBySiteIds": [ChildInquiry],
"listBySiteIdsPaginated": InquiriesPaginatedResult
}
ChildLanguageValue
Description
A language identified by a normalized ISO 639-1 code and its display name in the caller's locale.
Example
{
"code": "abc123",
"name": "abc123"
}
ChildLeave
Description
Represents a child leave
Fields
| Field Name | Description |
|---|---|
leaveId - ChildLeaveId!
|
Child leave ID |
childId - ChildId!
|
Child ID |
siteId - SiteId!
|
Institution Id |
vacationId - VacationId
|
Vacation Id |
date - LocalDate!
|
Leave date |
leaveType - String!
|
Leave type |
reason - String
|
Reason |
Example
{
"leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"vacationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"leaveType": "abc123",
"reason": "xyz789"
}
ChildLeaveCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ChildLeaveId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ChildLeavesQueries
Description
For querying child leaves
Fields
| Field Name | Description |
|---|---|
listBySiteIds - ChildLeavesResult!
|
A paginated list of children's leaves associated with the given a list of organization, area or site IDs |
Arguments
|
|
availableIllnesses - [NotifiableIllnessWithLabel!]!
|
Returns the available notifiable illness options for the given site, based on the site's country |
Arguments
|
|
availableIllnessesForChild - [NotifiableIllnessWithLabel!]!
|
Returns the available notifiable illness options for the given child, based on the child's site country |
Arguments
|
|
isIllnessRequiredForChild - Boolean!
|
Returns whether notifiable illness reporting is required for the given child's site |
Arguments
|
|
Example
{
"listBySiteIds": ChildLeavesResult,
"availableIllnesses": [NotifiableIllnessWithLabel],
"availableIllnessesForChild": [
NotifiableIllnessWithLabel
],
"isIllnessRequiredForChild": true
}
ChildLeavesResult
Description
Represents the paginated result of listing child leaves
Fields
| Field Name | Description |
|---|---|
result - [ChildLeave!]!
|
A paginated list of child leaves. NOTE: If the |
next - ChildLeaveCursor
|
If this token is not empty, use this as an argument to fetch the next set of child leaves. |
Example
{
"result": [ChildLeave],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
ChildUpdate
Description
Input for updating a child
Fields
| Input Field | Description |
|---|---|
childId - ChildId!
|
|
name - NameInput!
|
|
gender - Gender
|
|
birthday - LocalDate
|
|
currentGroupId - GroupId!
|
|
records - [RecordInput!]!
|
|
sensitiveRecords - [RecordInput!]!
|
|
sitesRelation - [SiteRelationInput!]!
|
|
primaryHomeLanguage - String
|
|
externalId - String
|
|
diagnosedConditions - ChildDiagnosedConditionsInput
|
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput,
"gender": "FEMALE",
"birthday": "2022-10-07",
"currentGroupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"records": [RecordInput],
"sensitiveRecords": [RecordInput],
"sitesRelation": [SiteRelationInput],
"primaryHomeLanguage": "xyz789",
"externalId": "abc123",
"diagnosedConditions": ChildDiagnosedConditionsInput
}
ChildrenListResult
Description
Represents the paginated result of listing children
Fields
| Field Name | Description |
|---|---|
result - [Child!]!
|
A paginated list of children. NOTE: If the |
next - ChildCursor
|
If this token is not empty, use this as an argument to fetch the next set of children. |
Example
{
"result": [Child],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
ChildrenMutation
Description
For creating and updating children
Fields
| Field Name | Description |
|---|---|
create - [Child!]!
|
After creating children, returns list of them |
Arguments
|
|
update - [Child!]!
|
After updating children, returns list of them |
Arguments
|
|
delete - [ChildId!]!
|
|
Arguments
|
|
moveGroup - [GroupMove!]!
|
Plans a group move for children. If the plan means that a child would also be in a different group today, the child's current group is also set. |
Arguments |
|
cancelGroupMove - [GroupMove!]!
|
Cancel a group move for a child. If the cancelled move means that the child would also be in a different group today, the child's current group is also set. |
Arguments |
|
Example
{
"create": [Child],
"update": [Child],
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"moveGroup": [GroupMove],
"cancelGroupMove": [GroupMove]
}
ChildrenQueries
Description
For querying children
Fields
| Field Name | Description |
|---|---|
listBySiteIds - ChildrenListResult!
|
A paginated list of children that are in the given Site IDs. By default neither past nor future children are listed. To include these, use the Example:
You can expand these time ranges so that you will get all past and future children, e.g. |
Arguments
|
|
listByChildIds - ChildrenListResult!
|
A paginated list of children based on the provided Child IDs. |
Arguments
|
|
list - ChildrenListResult!
|
A paginated list of children. Please use listBySiteIds or listByChildIds instead
|
Arguments
|
|
Example
{
"listBySiteIds": ChildrenListResult,
"listByChildIds": ChildrenListResult,
"list": ChildrenListResult
}
ClosedLocalDateRange
Fields
| Input Field | Description |
|---|---|
from - LocalDate!
|
|
to - LocalDate!
|
Example
{
"from": "2022-10-07",
"to": "2022-10-07"
}
ClosedLocalTimeRange
Fields
| Input Field | Description |
|---|---|
from - LocalTime!
|
|
to - LocalTime!
|
Example
{
"from": "01:08:03.420",
"to": "01:08:03.420"
}
Contact
Description
Represents a child contact
Fields
| Field Name | Description |
|---|---|
id - ContactId!
|
|
name - Name!
|
|
email - EmailAddress
|
|
address - Address
|
|
phoneNumbers - [PhoneNumberType!]!
|
|
childIds - [ChildId!]!
|
|
profileImage - ProfileImage
|
|
roles - [RoleAssignment!]!
|
|
roleInvitations - [RoleInvitation!]!
|
A list of all invitations to assume a role in the system send to the contact. Note that invitations expire after a certain period of time after which they won't show up in the list. |
emergencyContact - Boolean!
|
|
lastModifiedAt - ZonedDateTime!
|
The timestamp at which this contact was last modified. Use this to drive incremental syncs. |
records - [Record!]!
|
Basic child's contact info records. Currently available are:
|
Arguments
|
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": Name,
"email": "example@famly.co",
"address": Address,
"phoneNumbers": [PhoneNumberType],
"childIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"profileImage": ProfileImage,
"roles": [RoleAssignment],
"roleInvitations": [RoleInvitation],
"emergencyContact": false,
"lastModifiedAt": "2022-10-07T01:08:03.420+02:00",
"records": [Record]
}
ContactCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ContactId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ContactInput
Description
Input for creating a contact.
If you add a roles to the contact which does not yet have a login, this will create a login for them.
Supported roles:
- Parent:
d27c12e8-e1bf-4cb6-b10e-def7a83e3350 - Parent (limited access):
d8632ad6-0b47-4479-8f1d-fcb0477ff4db - Family:
2a8c1370-3ea7-40e8-9a60-8773bbe66c5e
Fields
| Input Field | Description |
|---|---|
name - NameInput!
|
|
email - EmailAddress
|
|
address - AddressInput
|
|
phoneNumbers - [PhoneInput!]!
|
|
records - [RecordInput!]!
|
|
childIds - [ChildId!]!
|
|
roles - [RoleAssignmentInput!]!
|
|
emergencyContact - Boolean
|
Example
{
"name": NameInput,
"email": "example@famly.co",
"address": AddressInput,
"phoneNumbers": [PhoneInput],
"records": [RecordInput],
"childIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"roles": [RoleAssignmentInput],
"emergencyContact": true
}
ContactListResult
Description
Represents the paginated result of listing contacts
Fields
| Field Name | Description |
|---|---|
result - [Contact!]!
|
A paginated list of children contacts. NOTE: If the |
next - ContactCursor
|
If this token is not empty, use this as an argument to fetch the next set of children contacts. |
Example
{
"result": [Contact],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
ContactQueries
Description
For querying contacts
Fields
| Field Name | Description |
|---|---|
list - ContactListResult!
|
A paginated list of children contacts. |
Arguments
|
|
Example
{"list": ContactListResult}
ContactRecordKey
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"TITLE"
ContactUpdate
Description
Input for updating a contact
Fields
| Input Field | Description |
|---|---|
id - ContactId!
|
|
name - NameInput!
|
|
email - EmailAddress
|
|
address - AddressInput
|
|
phoneNumbers - [PhoneInput!]!
|
|
records - [RecordInput!]!
|
|
roles - [RoleAssignmentInput!]!
|
|
emergencyContact - Boolean
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput,
"email": "example@famly.co",
"address": AddressInput,
"phoneNumbers": [PhoneInput],
"records": [RecordInput],
"roles": [RoleAssignmentInput],
"emergencyContact": false
}
ContactUpdateEmail
Fields
| Input Field | Description |
|---|---|
contactId - ContactId!
|
|
email - EmailAddress
|
Example
{
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co"
}
ContactUpdateEmergencyContact
Fields
| Input Field | Description |
|---|---|
contactId - ContactId!
|
|
emergencyContact - Boolean
|
Example
{
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"emergencyContact": true
}
ContactUpdateName
Fields
| Input Field | Description |
|---|---|
contactId - ContactId!
|
|
name - NameInput!
|
Example
{
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput
}
ContactUpdatePhone
Fields
| Input Field | Description |
|---|---|
contactId - ContactId!
|
|
phone - [PhoneInput!]!
|
Example
{
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"phone": [PhoneInput]
}
ContactUpdateRecord
Fields
| Input Field | Description |
|---|---|
contactId - ContactId!
|
|
record - [RecordInput!]!
|
Example
{
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"record": [RecordInput]
}
ContactUpdateRoleId
Fields
| Input Field | Description |
|---|---|
contactId - ContactId!
|
|
roleId - RoleId
|
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb
ContactsMutation
Description
For creating and updating contacts
Fields
| Field Name | Description |
|---|---|
create - [Contact!]!
|
After creating contacts, returns list of them |
Arguments
|
|
update - [Contact!]!
|
Update one or more contacts. You can use contacts to update a full contact, or one of the arguments, e.g. names, to update a single field |
Arguments
|
|
Example
{
"create": [Contact],
"update": [Contact]
}
ContractedHoursPublic
Fields
| Field Name | Description |
|---|---|
hours - Int!
|
|
minutes - Int!
|
|
validFrom - LocalDate!
|
|
validTo - LocalDate
|
Example
{
"hours": 123,
"minutes": 123,
"validFrom": "2022-10-07",
"validTo": "2022-10-07"
}
ContractedHoursPublicInput
Fields
| Input Field | Description |
|---|---|
effectiveDate - LocalDate!
|
|
hours - Int!
|
|
minutes - Int!
|
Example
{
"effectiveDate": "2022-10-07",
"hours": 987,
"minutes": 987
}
ContractedHoursPublicMutations
Description
Contracted hours public mutations
Fields
| Field Name | Description |
|---|---|
scheduleChange - ContractedHoursPublicResult!
|
Schedule a change to employee contracted hours. If employee has no contracted hours set, can be used to set new value, as long as it's not in the past. If employee has contracted hours set, can be used to set different value but only if change date is after today. |
Arguments
|
|
deleteScheduledChange - ContractedHoursPublicResult!
|
Deletes scheduled change for an employee (if any is present). |
Arguments
|
|
saveCurrent - ContractedHoursPublicResult!
|
Save current value of employee contracted hours. If employee has no contracted hours set, set new value effective from today. If employee has contracted hours set, can be used to set different value, also effective from today. Scheduled changes are left unchanged. Can de used to delete current value by passing null as cantractedHoursSaveInput. |
Arguments
|
|
Example
{
"scheduleChange": ContractedHoursPublicResult,
"deleteScheduledChange": ContractedHoursPublicResult,
"saveCurrent": ContractedHoursPublicResult
}
ContractedHoursPublicQueries
Description
Contracted hours public queries
Fields
| Field Name | Description |
|---|---|
byEmployee - ContractedHoursPublicResult!
|
Contains current value for contracted hours as well as scheduled change to contracted hours. Any of these may or may not be defined. |
Arguments
|
|
Example
{"byEmployee": ContractedHoursPublicResult}
ContractedHoursPublicResult
Fields
| Field Name | Description |
|---|---|
current - ContractedHoursPublic
|
|
scheduled - ContractedHoursScheduledChangePublic
|
Example
{
"current": ContractedHoursPublic,
"scheduled": ContractedHoursScheduledChangePublic
}
ContractedHoursSavePublicInput
ContractedHoursScheduledChangePublic
Fields
| Field Name | Description |
|---|---|
hours - Int!
|
|
minutes - Int!
|
|
date - LocalDate!
|
Example
{
"hours": 123,
"minutes": 987,
"date": "2022-10-07"
}
CreateCreditNoteOutput
Description
Return the invoice ID and invoice number
Fields
| Field Name | Description |
|---|---|
invoiceId - InvoiceId!
|
|
invoiceNumber - String!
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"invoiceNumber": "xyz789"
}
CustomRegistrationFormFieldId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
CustomRegistrationFormId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
CustomRegistrationFormPublic
Description
A custom registration form in the public API
Fields
| Field Name | Description |
|---|---|
formId - CustomRegistrationFormId!
|
Id of the custom registration form |
formName - String!
|
Name of the custom registration form |
formType - CustomRegistrationFormType!
|
The type of the custom registration form (e.g. interest, registration, enrollment) |
isPublished - Boolean!
|
Whether the form is currently published |
isShared - Boolean!
|
Whether the form is shared with multiple sites |
lastEditedAt - ZonedDateTime!
|
When the form was last edited |
numberOfSitesSharedWith - Int!
|
Number of sites this form is shared with (including the site it was created for) |
siteIds - [SiteId!]!
|
A list of all site ids this form is shared with |
numberOfResponses - Int!
|
The number of responses submitted to this form for the sites in the current siteSet context. |
Example
{
"formId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"formName": "xyz789",
"formType": "FOLLOWUP",
"isPublished": true,
"isShared": false,
"lastEditedAt": "2022-10-07T01:08:03.420+02:00",
"numberOfSitesSharedWith": 123,
"siteIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"numberOfResponses": 123
}
CustomRegistrationFormSectionId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
CustomRegistrationFormType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"FOLLOWUP"
CustomRegistrationForms
Description
Objects related to viewing custom registration forms
Fields
| Field Name | Description |
|---|---|
listFormsBySiteSetId - CustomRegistrationFormsListResult!
|
Returns a paginated list of all custom registration forms of a given site set. (The default page size is set to 25.) If the option onlyPublished is set to true the result will only contain forms that are currently published. If the option onlyShared is set to true, only forms shared with other sites will be listed. If the option onlySharedWithAll is set to true, only forms that are shared with all current sites and have auto share enabled will be listed. It is further possible to define a sort order for the results. (The default sorting is the date of last edit.) |
Arguments
|
|
Example
{
"listFormsBySiteSetId": CustomRegistrationFormsListResult
}
CustomRegistrationFormsListResult
Description
A paginated list of custom registration forms
Fields
| Field Name | Description |
|---|---|
results - [CustomRegistrationFormPublic!]!
|
A paginated list of custom registration forms |
next - FormCursor
|
If this token is not empty, use this as an argument to fetch the next set of forms |
Example
{
"results": [CustomRegistrationFormPublic],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmailAddress
Description
A string containing a possibly valid email address
Example
"example@famly.co"
EmailId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
EmailMutations
Description
For sending transactional emails via the public API
Fields
| Field Name | Description |
|---|---|
sendToStaff - SendEmailResult!
|
Send an email to a staff member. Requires the EmailsSend permission for the staff member's site. Rate-limited per API token and per recipient. |
Arguments
|
|
sendToContact - SendEmailResult!
|
Send an email to a child's contact. Requires the EmailsSend permission for the contact's child's site. Rate-limited per API token and per recipient. |
Arguments
|
|
Example
{
"sendToStaff": SendEmailResult,
"sendToContact": SendEmailResult
}
Employee
Description
Someone who works in an institution
Fields
| Field Name | Description |
|---|---|
id - EmployeeId!
|
The Famly ID for the employee |
name - Name!
|
The name of the employee |
siteId - SiteId!
|
The site this employee works at |
groupId - GroupId!
|
The group the employee belongs to |
group - Group!
|
The group the employee belongs to |
profileImage - ProfileImage
|
The employees profile image |
email - EmailAddress
|
The email of the employee |
title - String
|
The title of the employee, e.g. 'Temp staff' |
birthDate - LocalDate
|
The date of birth for the employee |
gender - Gender
|
The gender of the staff member. Null when unspecified, and also null when the caller lacks permission to see it. Unlike child gender, every value is available regardless of the site's country. |
phoneNumber - PhoneNumberType
|
The phone number of the employee |
address - Address
|
The address of the employee |
firstDay - LocalDate!
|
The date the employee starts working |
lastDay - LocalDate
|
The last day the employee works at the site |
roleId - RoleId
|
The role, if any, granted to this employee |
role - EmployeeAssignee
|
The role, if any, granted to this employee Please use roleId instead
|
customEmployeeId - String
|
Custom ID for an employee, assigned by external system. |
employeeWorkDayHours - Float
|
The default work day for this employee in hours. |
employeeWorkDayMin - Int
|
The default work day for this employee in minutes. |
holidayAllowance - Float
|
The staff members allowance for holidays in minutes per year. |
loginId - LoginId
|
The staff members login id. |
lastModifiedAt - ZonedDateTime!
|
The timestamp at which this employee was last modified. Use this to drive incremental syncs. |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": Name,
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"group": Group,
"profileImage": ProfileImage,
"email": "example@famly.co",
"title": "abc123",
"birthDate": "2022-10-07",
"gender": "FEMALE",
"phoneNumber": PhoneNumberType,
"address": Address,
"firstDay": "2022-10-07",
"lastDay": "2022-10-07",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"role": EmployeeAssignee,
"customEmployeeId": "xyz789",
"employeeWorkDayHours": 987.65,
"employeeWorkDayMin": 123,
"holidayAllowance": 123.45,
"loginId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"lastModifiedAt": "2022-10-07T01:08:03.420+02:00"
}
EmployeeAssignee
Description
An employee at a given institution
Fields
| Field Name | Description |
|---|---|
employeeId - EmployeeId!
|
|
person - Person!
|
|
institutionSetId - InstitutionSetId!
|
|
roleId - RoleId!
|
The ID of the role that has been assigned |
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"person": Person,
"institutionSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmployeeAttendanceRecord
Description
Represents an employee attendance record
Fields
| Field Name | Description |
|---|---|
id - EmployeeCheckInId!
|
Checkin Id |
employeeId - EmployeeId!
|
Employee id |
siteId - SiteId!
|
Site id |
groupId - GroupId!
|
Group id |
checkinTime - ZonedDateTime!
|
The time the employee checked in |
checkoutTime - ZonedDateTime
|
The optional time the employee was checked out |
workTag - WorkTagResultResultType
|
|
managerNote - ManagerNoteType
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"checkinTime": "2022-10-07T01:08:03.420+02:00",
"checkoutTime": "2022-10-07T01:08:03.420+02:00",
"workTag": WorkTagResultResultType,
"managerNote": ManagerNoteType
}
EmployeeCheckInId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
EmployeeCheckin
Description
Represents an employee checkin
Fields
| Field Name | Description |
|---|---|
result - [EmployeeCheckinResult!]!
|
A paginated list of Employee checkins |
next - CheckinCursor
|
If this token is not empty, use this as an argument to fetch the next set of employee checkins |
Example
{
"result": [EmployeeCheckinResult],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmployeeCheckinMutations
Description
For creating and updating attendance records for employees
Fields
| Field Name | Description |
|---|---|
createAttendance - EmployeeAttendanceRecord!
|
|
Arguments
|
|
updateAttendance - EmployeeAttendanceRecord!
|
|
Arguments
|
|
deleteAttendance - Boolean!
|
|
Arguments
|
|
Example
{
"createAttendance": EmployeeAttendanceRecord,
"updateAttendance": EmployeeAttendanceRecord,
"deleteAttendance": false
}
EmployeeCheckinQueries
Description
For querying checkins for employees
Fields
| Field Name | Description |
|---|---|
list - EmployeeCheckin!
|
Get all checkins |
Arguments
|
|
Example
{"list": EmployeeCheckin}
EmployeeCheckinResult
Description
Represents a paginated result of employee checkins
Fields
| Field Name | Description |
|---|---|
id - EmployeeCheckInId!
|
Checkin Id |
employeeId - EmployeeId!
|
Employee id |
siteId - SiteId!
|
Site id |
groupId - GroupId!
|
Group id |
checkinTime - ZonedDateTime!
|
The time the employee checked in |
estimatedCheckoutTime - ZonedDateTime
|
The (optional) expected checkout time of the employee. |
checkoutTime - ZonedDateTime
|
The optional time the employee was checked out |
workTag - WorkTagResultResultType
|
|
managerNote - ManagerNoteType
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"checkinTime": "2022-10-07T01:08:03.420+02:00",
"estimatedCheckoutTime": "2022-10-07T01:08:03.420+02:00",
"checkoutTime": "2022-10-07T01:08:03.420+02:00",
"workTag": WorkTagResultResultType,
"managerNote": ManagerNoteType
}
EmployeeCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
EmployeeId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
EmployeeInput
Fields
| Input Field | Description |
|---|---|
name - String!
|
|
institutionId - InstitutionId!
|
|
groupId - GroupId!
|
|
email - EmailAddress
|
|
title - String
|
|
birthDate - LocalDate
|
|
phoneNumber - String
|
|
address - AddressInput
|
|
firstDay - LocalDate!
|
|
lastDay - LocalDate
|
|
roleId - RoleId
|
|
customEmployeeId - String
|
|
employeeWorkDayHours - Float
|
|
employeeWorkDayMin - Int
|
|
holidayAllowance - Float
|
|
gender - Gender
|
Example
{
"name": "abc123",
"institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co",
"title": "abc123",
"birthDate": "2022-10-07",
"phoneNumber": "xyz789",
"address": AddressInput,
"firstDay": "2022-10-07",
"lastDay": "2022-10-07",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"customEmployeeId": "xyz789",
"employeeWorkDayHours": 987.65,
"employeeWorkDayMin": 987,
"holidayAllowance": 987.65,
"gender": "FEMALE"
}
EmployeeLeave
Description
Represents an employee absence
Fields
| Field Name | Description |
|---|---|
leaveId - EmployeeLeaveId!
|
Employee absence ID |
employeeId - EmployeeId!
|
Employee ID |
siteId - InstitutionId!
|
Site ID |
date - LocalDate!
|
Absence date |
leaveType - String!
|
Absence type |
leaveSubTypeName - String
|
Absence subtype name |
leaveSubTypeCode - String
|
Absence subtype code |
reason - String
|
Absence reason |
startTime - LocalDateTime
|
For hourly absence: start time of an absence |
endTime - LocalDateTime
|
For hourly absence: end time of an absence |
hours - Float
|
|
minutes - Int
|
|
deletedAt - LocalDateTime
|
For absences that were deleted: deletion time. Null for active absences. |
Example
{
"leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"leaveType": "xyz789",
"leaveSubTypeName": "abc123",
"leaveSubTypeCode": "abc123",
"reason": "xyz789",
"startTime": "2022-10-07T01:08:03.420",
"endTime": "2022-10-07T01:08:03.420",
"hours": 123.45,
"minutes": 123,
"deletedAt": "2022-10-07T01:08:03.420"
}
EmployeeLeaveCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
EmployeeLeaveId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
EmployeeLeaveMutations
Description
For mutating employee absences
Fields
| Field Name | Description |
|---|---|
delete - EmployeeLeaveId!
|
Delete an employee absence by passing it's ID as parameter. The method returns the ID of the absence that has been deleted. |
Arguments
|
|
create - [EmployeeLeave!]!
|
Create an employee absence based on the provided input. The input must include the following fields:
The method returns the created employee absence. |
Arguments
|
|
update - [EmployeeLeave!]!
|
Update an employee absence based on the provided input. The input must include the following fields:
The method returns the updated employee absence. |
Arguments
|
|
Example
{
"delete": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"create": [EmployeeLeave],
"update": [EmployeeLeave]
}
EmployeeLeaveQueries
Description
For querying employee absences
Fields
| Field Name | Description |
|---|---|
listBySiteIds - EmployeeLeavesResult!
|
A paginated list of employees' absences in the given a list of organization, area or institution IDs |
Arguments
|
|
Example
{"listBySiteIds": EmployeeLeavesResult}
EmployeeLeavesResult
Description
Represents the paginated result of listing employee absences
Fields
| Field Name | Description |
|---|---|
result - [EmployeeLeave!]!
|
A paginated list of employee absences. NOTE: If the |
next - EmployeeLeaveCursor
|
If this token is not empty, use this as an argument to fetch the next set of employee absences. |
Example
{
"result": [EmployeeLeave],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmployeeLimitedInfo
Description
Basic info of an employee
Fields
| Field Name | Description |
|---|---|
id - EmployeeId!
|
|
name - Name!
|
The name of the employee |
siteId - SiteId!
|
The site this employee works at |
profileImage - ProfileImage
|
Employee's profile image |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": Name,
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"profileImage": ProfileImage
}
EmployeeMutations
Description
For managing employees
Fields
| Field Name | Description |
|---|---|
create - [Employee!]!
|
Create one or more employees. Supplying a gender requires permission to see sensitive staff information; without it the call is rejected |
Arguments
|
|
update - [Employee!]!
|
Update one or more employees. You can use employees to update a full employee, or one of the arguments, e.g. roles, to update a single field |
Arguments
|
|
delete - [EmployeeId!]!
|
Delete one or more employees. |Permanently deletes the data related to the employees with the given employeeIds. This includes but is not limited to: |* Profile information |* Role assignments |* Qualification data |* Checkin data |* Leave data |* Staff rota data | |NOTE: This action is irreversible. Data cannot be retrieved afterwards. | |
Arguments
|
|
Example
{
"create": [Employee],
"update": [Employee],
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
]
}
EmployeeQueries
Description
For querying employees
Fields
| Field Name | Description |
|---|---|
list - EmployeesResult!
|
List current employees one page at a time, ordered by employee id |
Arguments
|
|
Example
{"list": EmployeesResult}
EmployeeUpdate
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
name - String!
|
|
groupId - GroupId!
|
|
email - EmailAddress
|
|
title - String
|
|
birthDate - LocalDate
|
|
phoneNumber - String
|
|
address - AddressInput
|
|
firstDay - LocalDate!
|
|
lastDay - LocalDate
|
|
roleId - RoleId
|
|
customEmployeeId - String
|
|
employeeWorkDayHours - Float
|
|
employeeWorkDayMin - Int
|
|
holidayAllowance - Float
|
|
gender - Gender
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "abc123",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co",
"title": "abc123",
"birthDate": "2022-10-07",
"phoneNumber": "abc123",
"address": AddressInput,
"firstDay": "2022-10-07",
"lastDay": "2022-10-07",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"customEmployeeId": "xyz789",
"employeeWorkDayHours": 123.45,
"employeeWorkDayMin": 987,
"holidayAllowance": 123.45,
"gender": "FEMALE"
}
EmployeeUpdateAddress
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
address - AddressInput
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"address": AddressInput
}
EmployeeUpdateBirthDate
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
birthDate - LocalDate
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"birthDate": "2022-10-07"
}
EmployeeUpdateCustomEmployeeId
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
customEmployeeId - String
|
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb
EmployeeUpdateEmail
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
email - EmailAddress
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co"
}
EmployeeUpdateEmployeeWorkDayHours
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
employeeWorkDayHours - Float
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeWorkDayHours": 987.65
}
EmployeeUpdateEmployeeWorkDayMin
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
employeeWorkDayMin - Int
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeWorkDayMin": 123
}
EmployeeUpdateGroupId
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
groupId - GroupId!
|
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb
EmployeeUpdateHolidayAllowance
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
holidayAllowance - Float
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"holidayAllowance": 123.45
}
EmployeeUpdateName
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
name - NameInput!
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput
}
EmployeeUpdatePhone
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
phone - PhoneNumber
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"phone": "+17895551234"
}
EmployeeUpdateRange
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
range - ClosedLocalDateRange!
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"range": ClosedLocalDateRange
}
EmployeeUpdateRangeOpen
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
rangeOpen - NonEmptyLocalDateRangeInput!
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"rangeOpen": NonEmptyLocalDateRangeInput
}
EmployeeUpdateRoleId
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
roleId - RoleId
|
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb
EmployeeUpdateTitle
Fields
| Input Field | Description |
|---|---|
employeeId - EmployeeId!
|
|
title - String
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123"
}
EmployeesResult
Description
One page of employees, ordered by employee id
Fields
| Field Name | Description |
|---|---|
employees - [Employee!]!
|
The employees on this page. A page can hold fewer employees than pageSize, or none at all, and still have a next cursor. |
next - EmployeeCursor
|
Pass this as the next argument to fetch the following page. Null on the last page, and the only signal that the walk is over: do not stop on a short or an empty page. |
Example
{
"employees": [Employee],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmployeesWithAssignedShiftsPublicType
Fields
| Field Name | Description |
|---|---|
employee - Employee
|
|
scheduledMinutes - Int!
|
|
assignedShifts - [AssignedShiftsPublicType!]!
|
Example
{
"employee": Employee,
"scheduledMinutes": 123,
"assignedShifts": [AssignedShiftsPublicType]
}
ErrorReportResponse
Description
Return the invoice ID and indication on whether the error was successfully reported
Fields
| Field Name | Description |
|---|---|
invoiceId - InvoiceId!
|
|
success - Boolean!
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"success": true
}
ExternalSystemName
Values
| Enum Value | Description |
|---|---|
|
|
Integration with Xero |
|
|
Integration with Sage Intacct |
|
|
Integration with XLedger |
|
|
Integration with QuickBooks |
|
|
Integration with an unknown system |
|
|
Integration with custom systems |
Example
"XERO"
File
FileId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
FileMutations
Description
For managing files
Fields
| Field Name | Description |
|---|---|
getSignedUrl - FileUpload!
|
Get a signed upload URL and HMAC for uploading files to Famly |
Arguments
|
|
getSignedUrls - [BatchFileUpload!]!
|
Get a signed upload URL and HMAC for uploading files to Famly for multiple files in one batch |
Arguments
|
|
Example
{
"getSignedUrl": FileUpload,
"getSignedUrls": [BatchFileUpload]
}
FileUpload
FileUploadInput
FiscalYear
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"JAN1DEC31"
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
FoodItem
Fields
| Field Name | Description |
|---|---|
title - String!
|
Example
{"title": "abc123"}
ForeignIdReferenceInput
Description
Foreign ID with foreign system information
Fields
| Input Field | Description |
|---|---|
foreignId - String!
|
Foreign ID |
foreignSystem - ForeignSystem
|
Please use system instead |
system - String
|
The name of the system where the foreign ID is used |
Example
{
"foreignId": "xyz789",
"foreignSystem": "KITA_PLANER",
"system": "xyz789"
}
ForeignSite
ForeignSystem
Description
Specify the system the foreign ID belongs to. Deprecated
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"KITA_PLANER"
FormCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
FormResponse
Description
Represents a single form response/submission
Fields
| Field Name | Description |
|---|---|
responseId - SubmissionId!
|
The unique identifier of this response |
siteName - String!
|
The name of the site where this response was submitted |
formName - String!
|
The name of the form |
submissionDate - ZonedDateTime!
|
The date and time when this response was submitted |
formVersion - Int!
|
The version number of the form that was used for this submission |
sections - [FormResponseSection!]!
|
The list of sections in this response |
Example
{
"responseId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteName": "abc123",
"formName": "abc123",
"submissionDate": "2022-10-07T01:08:03.420+02:00",
"formVersion": 987,
"sections": [FormResponseSection]
}
FormResponseCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
FormResponseField
Description
Represents a single field in a form response
Fields
| Field Name | Description |
|---|---|
fieldId - CustomRegistrationFormFieldId!
|
The unique identifier of the form field |
fieldName - String!
|
The human-readable name of the field |
fieldType - String!
|
The type of the form field (e.g. TEXT, CHECKBOX, UPLOADER, CUSTOM_UPLOADER) |
value - String
|
The field value as a string. For file/uploader fields, this is the file ID. For text fields, HTML content may be preserved. |
Example
{
"fieldId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"fieldName": "abc123",
"fieldType": "xyz789",
"value": "xyz789"
}
FormResponseSection
Description
Represents a section in a form response
Fields
| Field Name | Description |
|---|---|
sectionId - CustomRegistrationFormSectionId!
|
The unique identifier of the form section |
sectionName - String!
|
The human-readable name of the section |
fields - [FormResponseField!]!
|
The list of fields in this section |
Example
{
"sectionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"sectionName": "abc123",
"fields": [FormResponseField]
}
FormResponses
Description
Paginated form responses
Fields
| Field Name | Description |
|---|---|
responses - [FormResponse!]!
|
The list of form responses |
next - FormResponseCursor
|
Cursor for fetching the next page of results, if available |
Example
{
"responses": [FormResponse],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
FormSortOrder
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Default"
Gender
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"FEMALE"
Group
Description
Represents a physical room in an institution
Fields
| Field Name | Description |
|---|---|
id - GroupId!
|
|
title - String!
|
|
description - String
|
A plain-text description of the group |
institutionId - InstitutionId!
|
|
site - InstitutionSet
|
|
staffRatio - Float
|
|
ordering - Int
|
|
profileImage - ProfileImage
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "xyz789",
"description": "xyz789",
"institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"site": InstitutionSet,
"staffRatio": 123.45,
"ordering": 987,
"profileImage": ProfileImage
}
GroupId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
GroupInput
Fields
| Input Field | Description |
|---|---|
institutionId - InstitutionId!
|
|
title - String!
|
|
description - String
|
Example
{
"institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123",
"description": "abc123"
}
GroupMove
Fields
| Field Name | Description |
|---|---|
childId - ChildId!
|
|
groupId - GroupId!
|
|
group - Group!
|
|
date - LocalDate!
|
|
time - LocalTime
|
This field is not used anymore and will always be empty |
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"group": Group,
"date": "2022-10-07",
"time": "01:08:03.420"
}
GroupMutations
Description
For managing groups (rooms)
Fields
| Field Name | Description |
|---|---|
create - [Group!]!
|
Create one or more groups |
Arguments
|
|
update - [Group!]!
|
Update one or more groups |
Arguments
|
|
Example
{
"create": [Group],
"update": [Group]
}
GroupQueries
Description
For querying groups
Fields
| Field Name | Description |
|---|---|
list - [Group!]!
|
List groups by either GroupId, InstitutionId, or SiteSetId |
Arguments |
|
Example
{"list": [Group]}
GroupUpdate
HMAC
Description
A HMAC used to secure a request
Example
HMAC
Image
Description
An image of type media
Fields
| Field Name | Description |
|---|---|
id - ImageId!
|
|
secret - ImageSecret!
|
|
width - Int!
|
|
height - Int!
|
|
url - String!
|
Default URL for the image with fixed dimensions 1920x1080 or 1080x1920 based on aspect ratio |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"secret": ImageSecret,
"width": 987,
"height": 123,
"url": "abc123"
}
ImageCrop
Values
| Enum Value | Description |
|---|---|
|
|
Example
"face"
ImageId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ImageSecret
Fields
| Field Name | Description |
|---|---|
prefix - String!
|
|
key - HMAC!
|
|
path - String!
|
|
expires - ZonedDateTime!
|
|
crop - ImageCrop
|
Example
{
"prefix": "abc123",
"key": HMAC,
"path": "abc123",
"expires": "2022-10-07T01:08:03.420+02:00",
"crop": "face"
}
InAppPayment
Description
Represents an In-app payment, either via Stripe or Tax-Free Childcare
Fields
| Field Name | Description |
|---|---|
paymentId - PaymentId!
|
Possible Types
| InAppPayment Types |
|---|
Example
{
"paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InquiriesCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InquiriesPaginatedResult
Fields
| Field Name | Description |
|---|---|
results - [ChildInquiry!]!
|
|
next - InquiriesCursor
|
Example
{
"results": [ChildInquiry],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InquiryAction
Description
Represents a child inquiry action
Fields
| Field Name | Description |
|---|---|
id - InquiryActionId!
|
Inquiry action Id |
inquiryId - InquiryId!
|
Inquiry Id |
type - InquiryActionType!
|
Inquiry action type |
lastUpdatedAt - ZonedDateTime!
|
Last update time of this action |
note - String!
|
Note |
subject - String!
|
Subject |
createdAt - ZonedDateTime!
|
Creation time of this action |
due - ZonedDateTime
|
Due time of this action |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"inquiryId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"type": "OTHER",
"lastUpdatedAt": "2022-10-07T01:08:03.420+02:00",
"note": "xyz789",
"subject": "xyz789",
"createdAt": "2022-10-07T01:08:03.420+02:00",
"due": "2022-10-07T01:08:03.420+02:00"
}
InquiryActionCreateInput
Fields
| Input Field | Description |
|---|---|
note - String
|
|
due - LocalDateTime
|
|
type - InquiryActionType!
|
|
subject - String
|
Example
{
"note": "abc123",
"due": "2022-10-07T01:08:03.420",
"type": "OTHER",
"subject": "xyz789"
}
InquiryActionId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InquiryActionType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"OTHER"
InquiryActionUpdateInput
Fields
| Input Field | Description |
|---|---|
note - String
|
|
due - LocalDateTime
|
|
type - InquiryActionType
|
|
subject - String
|
Example
{
"note": "abc123",
"due": "2022-10-07T01:08:03.420",
"type": "OTHER",
"subject": "abc123"
}
InquiryBookingSource
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CHILDCARE_SITE"
InquiryGroup
Description
Represents a physical room in an institution in inquiries context
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteName": "abc123",
"title": "abc123",
"description": "xyz789",
"profileImage": ProfileImage
}
InquiryId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InquiryInput
Description
Input for creating a new inquiry
Fields
| Input Field | Description |
|---|---|
name - NameInput!
|
|
birthday - LocalDate!
|
|
gender - Gender
|
|
startDate - LocalDate!
|
|
siteId - SiteId!
|
|
referenceNumber - ForeignIdReferenceInput
|
|
contacts - [ChildInquiryContact!]!
|
|
note - String
|
Example
{
"name": NameInput,
"birthday": "2022-10-07",
"gender": "FEMALE",
"startDate": "2022-10-07",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"referenceNumber": ForeignIdReferenceInput,
"contacts": [ChildInquiryContact],
"note": "abc123"
}
InquiryLostCategory
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"OTHER"
InquiryPriority
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"HIGH"
InquiryReason
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"MOVED_FROM_ANOTHER_CHILDCARE_SETTING"
InquirySortOrder
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Default"
InquirySource
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"OTHER"
InquiryStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"WAITING_LIST"
InquiryUpdateInput
Description
Input for updating an inquiry
Fields
| Input Field | Description |
|---|---|
groupId - GroupId
|
|
note - String
|
|
status - InquiryStatus
|
|
source - InquirySource
|
|
bookingSource - InquiryBookingSource
|
|
reason - InquiryReason
|
|
lostCategory - InquiryLostCategory
|
|
lostReason - String
|
|
bookingNote - String
|
|
priority - InquiryPriority
|
Example
{
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"note": "abc123",
"status": "WAITING_LIST",
"source": "OTHER",
"bookingSource": "CHILDCARE_SITE",
"reason": "MOVED_FROM_ANOTHER_CHILDCARE_SETTING",
"lostCategory": "OTHER",
"lostReason": "xyz789",
"bookingNote": "abc123",
"priority": "HIGH"
}
InstitutionId
Description
A string containing a 36 character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InstitutionPosition
InstitutionSet
Fields
| Field Name | Description |
|---|---|
institutionSetId - InstitutionSetId!
|
|
title - String!
|
|
profileImage - ProfileImage
|
|
siteType - String!
|
Example
{
"institutionSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123",
"profileImage": ProfileImage,
"siteType": "abc123"
}
InstitutionSetId
Description
A string containing a 36 character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
InvalidRoleInvitation
Fields
| Field Name | Description |
|---|---|
error - String!
|
|
roleInvitationId - RoleInvitationId!
|
|
roleTitle - String!
|
|
roleId - RoleId!
|
|
verification - RoleInvitationVerification!
|
|
siteTitle - String!
|
|
privacyPolicyLink - String
|
Example
{
"error": "xyz789",
"roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleTitle": "xyz789",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"verification": RoleInvitationVerification,
"siteTitle": "abc123",
"privacyPolicyLink": "xyz789"
}
Invoice
Fields
| Field Name | Description |
|---|---|
invoiceId - InvoiceId!
|
|
title - String
|
|
total - BadMoney!
|
|
invoiceDate - LocalDate!
|
|
dueDate - LocalDate!
|
|
billPayerId - BillPayerId!
|
|
lines - [InvoiceLines!]!
|
|
items - [InvoiceItem!]!
|
The individual items (sessions, products, discounts, surcharges, and public funding) comprising the invoice |
pdfResult - InvoicePdfResultType
|
|
invoiceNumber - String!
|
|
creditStatus - InvoiceCreditStatus
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "xyz789",
"total": BadMoney,
"invoiceDate": "2022-10-07",
"dueDate": "2022-10-07",
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"lines": [InvoiceLines],
"items": [InvoiceItem],
"pdfResult": InvoicePdfSuccessType,
"invoiceNumber": "abc123",
"creditStatus": InvoiceStatusIsCreditNote
}
InvoiceCreditStatus
Description
Whether an invoice is a credit note for another invoice, or is credited by an invoice
Types
| Union Types |
|---|
Example
InvoiceStatusIsCreditNote
InvoiceCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InvoiceId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InvoiceInput
Description
Input for creating an invoice
Fields
| Input Field | Description |
|---|---|
billPayer - BillPayerReferenceInput!
|
Reference for bill payer |
invoiceNumber - Int!
|
The invoice number. Must be positive and unique within an organization; if a site is not part of an organization, must be unique for the site. |
invoiceDate - LocalDate!
|
The invoice date |
dueDate - LocalDate!
|
The invoice due date |
note - String
|
A free-text note on the invoice |
lines - [InvoiceLinesInput!]!
|
The invoice line items |
pdf - FileUploadInput
|
The invoice PDF upload URL and HMAC |
Example
{
"billPayer": BillPayerReferenceInput,
"invoiceNumber": 123,
"invoiceDate": "2022-10-07",
"dueDate": "2022-10-07",
"note": "xyz789",
"lines": [InvoiceLinesInput],
"pdf": FileUploadInput
}
InvoiceItem
Description
An item on an invoice (sessions and products from plans or purchases, plan discounts, plan surcharges, purchase discounts, or public funding)
Fields
| Field Name | Description |
|---|---|
type - String!
|
The type of the item. Expected values are 'SESSION', 'PRODUCT', 'VIRTUAL_PRODUCT', 'DISCOUNT', 'SURCHARGE', 'PUBLIC_FUNDING', or 'MISSING_DATA' |
title - String!
|
The user-given title of the item |
childId - ChildId
|
The ID of the child that the item is for |
amount - BadMoney
|
The subtotal of the item. The amounts of all the non-excluded items in an invoice add up to its total. Use subtotal instead.
|
subtotal - BadMoney
|
The subtotal of the item. The subtotals of all the non-excluded items in an invoice add up to its total. |
total - BadMoney
|
The total of the item. |
account - AccountType
|
A financial/ledger account associated with the item, or a default for the item type/in general |
period - InvoicePeriod!
|
The period the item covers, e.g. the dates a session or product booking spans |
sessionId - SessionId
|
The ID of the session this item is a booking for, if it is one |
productId - ProductId
|
The ID of the product/extra charge this item is a booking for, if it is one |
Example
{
"type": "xyz789",
"title": "xyz789",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"amount": BadMoney,
"subtotal": BadMoney,
"total": BadMoney,
"account": AccountType,
"period": InvoicePeriod,
"sessionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"productId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InvoiceLines
Description
The lines that make up an invoice
Fields
| Field Name | Description |
|---|---|
type - String!
|
|
childId - ChildId
|
|
info - String
|
|
amount - BadMoney
|
|
account - AccountType
|
A financial/ledger account |
period - InvoicePeriod
|
The period the line covers. Null for custom lines that have no period. |
Example
{
"type": "abc123",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"info": "abc123",
"amount": BadMoney,
"account": AccountType,
"period": InvoicePeriod
}
InvoiceLinesInput
Description
Input for creating invoice lines. Currently supports only creation of custom lines.
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"info": "abc123",
"amount": BadMoney,
"accountId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InvoiceListingResult
Fields
| Field Name | Description |
|---|---|
result - [Invoice!]!
|
|
next - InvoiceCursor
|
Example
{
"result": [Invoice],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InvoiceMutations
Description
For managing invoices
Fields
| Field Name | Description |
|---|---|
create - [Invoice!]!
|
Create invoices using the provided invoice line items. |
Arguments
|
|
setPdf - SetPdfResult!
|
Associate an uploaded PDF with the given invoice, replacing any existing PDF. |
Arguments
|
|
reportError - ErrorReportResponse!
|
Report an error message for an invoice from an external party |
Arguments
|
|
createCreditNote - CreateCreditNoteOutput!
|
Create credit note for an invoice |
Arguments
|
|
Example
{
"create": [Invoice],
"setPdf": SetPdfResult,
"reportError": ErrorReportResponse,
"createCreditNote": CreateCreditNoteOutput
}
InvoicePdfFailedType
Description
Invoice PDF creation failed
Fields
| Field Name | Description |
|---|---|
errors - [String!]!
|
Example
{"errors": ["abc123"]}
InvoicePdfResultType
Description
The result of Invoice PDF creation
Types
| Union Types |
|---|
Example
InvoicePdfSuccessType
InvoicePdfSuccessType
Description
Invoice PDF creation succeeded
Fields
| Field Name | Description |
|---|---|
succeeded - Boolean!
|
Example
{"succeeded": true}
InvoicePeriod
Description
A date period, with both ends inclusive
Fields
| Field Name | Description |
|---|---|
from - LocalDate!
|
The first date of the period |
to - LocalDate!
|
The last date of the period (inclusive) |
Example
{
"from": "2022-10-07",
"to": "2022-10-07"
}
InvoiceQueries
Description
For querying invoice data
Fields
| Field Name | Description |
|---|---|
listBySiteIds - InvoiceListingResult!
|
A paginated list of invoices. |
Arguments
|
|
listByInvoiceIds - [Invoice!]!
|
|
Arguments
|
|
Example
{
"listBySiteIds": InvoiceListingResult,
"listByInvoiceIds": [Invoice]
}
InvoiceRecipient
Description
An invoice recipient
Fields
| Field Name | Description |
|---|---|
relationId - RelationId!
|
Uniquely identifies a child's contact person in Famly Use the equivalent contactId field instead.
|
contactId - ContactId!
|
Uniquely identifies a child's contact person in Famly |
billPayerId - BillPayerId!
|
|
name - String!
|
|
email - EmailAddress
|
Example
{
"relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"email": "example@famly.co"
}
InvoiceRecipientDeleteInput
Description
Input for deleting an invoice recipient. billPayerId and relationId are always required.
Fields
| Input Field | Description |
|---|---|
relationId - RelationId!
|
|
billPayerId - BillPayerId!
|
Example
{
"relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InvoiceRecipientDeleteResult
Fields
| Field Name | Description |
|---|---|
billPayerId - BillPayerId!
|
|
relationId - RelationId!
|
Uniquely identifies a child's contact person in Famly |
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InvoiceRecipientInput
Description
Input for creating an invoice recipient. relationId is required when creating an invoice recipient from an existing contact/relation. childId, name, and email are required when creating an invoice recipient without an existing contact/relation. billPayerId is always required when adding invoice recipients for existing bill payers.
Fields
| Input Field | Description |
|---|---|
relationId - RelationId
|
|
billPayerId - BillPayerId
|
|
childId - ChildId
|
|
name - NameInput
|
|
email - ValidEmailAddress
|
Example
{
"relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput,
"email": "example@famly.co"
}
InvoiceReference
Description
Details for referencing a specific invoice in Famly
Fields
| Input Field | Description |
|---|---|
invoiceId - InvoiceId
|
|
externalId - String
|
|
siteId - SiteId
|
|
tags - [ReferenceTag!]!
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"externalId": "abc123",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"tags": [ReferenceTag]
}
InvoiceStatusIsCreditNote
Description
This invoice is a credit note crediting another invoice
Fields
| Field Name | Description |
|---|---|
credits - InvoiceId!
|
Example
{
"credits": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
InvoiceStatusIsCredited
Description
This invoice is credited by a credit note invoice
Fields
| Field Name | Description |
|---|---|
creditedBy - InvoiceId!
|
Example
{
"creditedBy": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
LeaveBalancesMutations
Description
For modifying leave balances
Fields
| Field Name | Description |
|---|---|
setEmployeeBalanceOverride - Float
|
|
Arguments
|
|
Example
{"setEmployeeBalanceOverride": 987.65}
LeaveBalancesQueries
Description
For querying leave balances
Fields
| Field Name | Description |
|---|---|
balanceOverridesByEmployee - [StaffLeaveBalance!]!
|
List of overrides of leave balances for an employee. |
Arguments
|
|
balanceOverrideByEmployeeAndLeaveType - StaffLeaveBalance!
|
Get single leave balance override for an employee. |
Arguments
|
|
Example
{
"balanceOverridesByEmployee": [StaffLeaveBalance],
"balanceOverrideByEmployeeAndLeaveType": StaffLeaveBalance
}
LeaveMinutesPublicType
LeavesMutations
Description
For mutating absences for children and employees
Fields
| Field Name | Description |
|---|---|
employees - EmployeeLeaveMutations!
|
For mutating employee absences |
Example
{"employees": EmployeeLeaveMutations}
LeavesQueries
Description
For querying absences for children and employees
Fields
| Field Name | Description |
|---|---|
employees - EmployeeLeaveQueries!
|
For querying employee absences |
children - ChildLeavesQueries!
|
For querying child leaves |
Example
{
"employees": EmployeeLeaveQueries,
"children": ChildLeavesQueries
}
ListRolesResult
Description
A paginated list of roles
Fields
| Field Name | Description |
|---|---|
next - RoleCursor
|
|
roles - [Role!]!
|
Example
{
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roles": [Role]
}
LocalDate
Description
A string containing a local date in the ISO-8601 format, e.g. YYYY-MM-DD
Example
"2022-10-07"
LocalDateTime
Description
A string containing a local date time in the ISO-8601 format, e.g. 'YYYY-MM-DDTHH:mm:ss'
Example
"2022-10-07T01:08:03.420"
LocalTime
Description
A string containing a local time in ISO format, i.e. HH:MM:SS. Example: 10:15:36.
Example
"01:08:03.420"
LoginId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ManagerNoteType
Fields
| Field Name | Description |
|---|---|
note - String!
|
Manager note content |
updatedBy - String
|
Name of the user who last updated manager note |
updatedAt - ZonedDateTime
|
Time when manager note was last updated |
Example
{
"note": "abc123",
"updatedBy": "abc123",
"updatedAt": "2022-10-07T01:08:03.420+02:00"
}
MealPlan
Description
Meal plan information
Fields
| Field Name | Description |
|---|---|
siteId - SiteId!
|
The site for the meal plan |
mealPlanId - MealPlanId!
|
ID of the meal plan |
date - LocalDate!
|
Meal plan day |
meals - [MealTypeItems!]!
|
The meals on this day |
images - [Image!]!
|
Images attached to the meal plan |
files - [File!]!
|
Files attached to the meal plan |
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"mealPlanId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"meals": [MealTypeItems],
"images": [Image],
"files": [File]
}
MealPlanCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
MealPlanId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
MealPlanQueries
Description
For querying meal plans
Fields
| Field Name | Description |
|---|---|
list - MealPlanResult!
|
List the default meal plans for the current and coming week, unless additional filters are provided |
Arguments
|
|
Example
{"list": MealPlanResult}
MealPlanResult
Description
Meal plan results with pagination
Fields
| Field Name | Description |
|---|---|
next - MealPlanCursor
|
|
result - [MealPlan!]!
|
The meal plan data for each day |
Example
{
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"result": [MealPlan]
}
MealQueries
Description
For querying meals
Fields
| Field Name | Description |
|---|---|
planned - MealPlanQueries!
|
For querying meal plans |
Example
{"planned": MealPlanQueries}
MealTypeItems
Description
Meal information
Fields
| Field Name | Description |
|---|---|
mealType - PublicMealType!
|
Meal type information |
mealItems - [FoodItem!]!
|
Meal items |
Example
{
"mealType": PublicMealType,
"mealItems": [FoodItem]
}
MovedInvoice
Description
Moved invoice object
Fields
| Field Name | Description |
|---|---|
invoiceId - InvoiceId!
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
MovedInvoicesAndPayments
Description
An object containing a list of invoices and a list of payments
Fields
| Field Name | Description |
|---|---|
invoices - [MovedInvoice!]!
|
|
payments - [MovedPayment!]!
|
Example
{
"invoices": [MovedInvoice],
"payments": [MovedPayment]
}
MovedPayment
Description
Moved payment object
Fields
| Field Name | Description |
|---|---|
paymentId - PaymentId!
|
Example
{
"paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
Name
Description
A person's name
Example
{
"firstName": "xyz789",
"middleName": "xyz789",
"lastName": "xyz789",
"fullName": "abc123",
"shortName": "abc123"
}
NameInput
Description
A string representing name of a user
Example
NameInput
NoVerification
Fields
| Field Name | Description |
|---|---|
verificationMethod - RoleInvitationVerificationMethod!
|
Example
{"verificationMethod": "DATE_OF_BIRTH"}
NonEmptyLocalDateRangeInput
Fields
| Input Field | Description |
|---|---|
from - LocalDate!
|
|
to - LocalDate
|
Example
{
"from": "2022-10-07",
"to": "2022-10-07"
}
NonEmptyLocalDateTimeRangeInput
Fields
| Input Field | Description |
|---|---|
from - LocalDateTime!
|
|
to - LocalDateTime
|
Example
{
"from": "2022-10-07T01:08:03.420",
"to": "2022-10-07T01:08:03.420"
}
NotifiableIllness
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"HEAD_LICE"
NotifiableIllnessWithLabel
Fields
| Field Name | Description |
|---|---|
name - NotifiableIllness!
|
|
label - String!
|
Example
{"name": "HEAD_LICE", "label": "xyz789"}
OpenShiftsPublicType
Fields
| Field Name | Description |
|---|---|
date - LocalDate!
|
|
shifts - [ShiftPublicType!]!
|
Example
{
"date": "2022-10-07",
"shifts": [ShiftPublicType]
}
OpeningHours
Fields
| Field Name | Description |
|---|---|
monday - TimeRangeClosedLocalTime
|
|
tuesday - TimeRangeClosedLocalTime
|
|
wednesday - TimeRangeClosedLocalTime
|
|
thursday - TimeRangeClosedLocalTime
|
|
friday - TimeRangeClosedLocalTime
|
|
saturday - TimeRangeClosedLocalTime
|
|
sunday - TimeRangeClosedLocalTime
|
Example
{
"monday": TimeRangeClosedLocalTime,
"tuesday": TimeRangeClosedLocalTime,
"wednesday": TimeRangeClosedLocalTime,
"thursday": TimeRangeClosedLocalTime,
"friday": TimeRangeClosedLocalTime,
"saturday": TimeRangeClosedLocalTime,
"sunday": TimeRangeClosedLocalTime
}
OrganizationId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
Payment
Description
Details for a specific payment
Fields
| Field Name | Description |
|---|---|
id - PaymentId!
|
|
amount - BadMoney!
|
|
childId - ChildId
|
|
paymentMethod - PaymentMethod!
|
|
note - String!
|
|
refundReason - String
|
The code of the predefined reason this refund was registered under, for example GOODWILL. null when the payment is not a refund, when the refund predates the reason list, or when the site is not entitled to refund reasons. |
paymentDate - LocalDate!
|
|
createdAt - ZonedDateTime!
|
|
deletedAt - ZonedDateTime
|
The time at which this payment was deleted (UTC). null if the payment is not deleted. |
transactionStatus - TransactionStatus!
|
|
billPayer - BillPayerSummary!
|
|
currency - String!
|
|
viaFamlyPay - Boolean!
|
Indicates if the payment was made via In-app Payments (formerly known as Famly Pay). If true, inAppPayment will contain further details. |
inAppPayment - InAppPayment
|
Details of the In-app payment, if applicable. |
isDeposited - Boolean!
|
|
depositDate - LocalDate
|
|
depositId - String
|
|
invoices - [PaymentInvoiceRelation!]!
|
|
externalSystem - PaymentExternalSystem
|
|
metadata - [PaymentMetadata!]
|
Metadata attached to the payment. |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"amount": BadMoney,
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"paymentMethod": "GovernmentGrant",
"note": "abc123",
"refundReason": "xyz789",
"paymentDate": "2022-10-07",
"createdAt": "2022-10-07T01:08:03.420+02:00",
"deletedAt": "2022-10-07T01:08:03.420+02:00",
"transactionStatus": "PENDING",
"billPayer": BillPayerSummary,
"currency": "abc123",
"viaFamlyPay": false,
"inAppPayment": InAppPayment,
"isDeposited": false,
"depositDate": "2022-10-07",
"depositId": "xyz789",
"invoices": [PaymentInvoiceRelation],
"externalSystem": PaymentExternalSystem,
"metadata": [PaymentMetadata]
}
PaymentCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
PaymentDeleteResult
Description
Result of delete operation
Fields
| Field Name | Description |
|---|---|
id - PaymentId!
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
PaymentExternalSystem
Description
Details of the external system for a specific payment
Fields
| Field Name | Description |
|---|---|
id - String!
|
The external ID this payment relates to. |
system - ExternalSystemName!
|
The name of the external system this payment relates to, or 'CUSTOM' if it is a custom integration. |
name - String
|
The name of the custom integration. Only relevant if system is set to CUSTOM. |
externalType - String
|
The type associated with the payment in the external system. |
Example
{
"id": "abc123",
"system": "XERO",
"name": "xyz789",
"externalType": "xyz789"
}
PaymentExternalSystemInput
Description
Input for details of the external system for a specific payment
Fields
| Input Field | Description |
|---|---|
id - String!
|
The external ID this payment relates to. |
system - ExternalSystemName!
|
The name of the external system this payment relates to, or 'CUSTOM' if it is a custom integration. |
name - String
|
The name of the custom integration. Only relevant if system is set to CUSTOM. |
Example
{
"id": "xyz789",
"system": "XERO",
"name": "abc123"
}
PaymentId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
PaymentInput
Description
Data provided to register a payment in Famly
Fields
| Input Field | Description |
|---|---|
billPayer - BillPayerReferenceInput!
|
A reference to the bill payer the payment is registered for. |
externalId - String
|
Deprecated: Please use externalSystem instead. |
externalSystem - PaymentExternalSystemInput
|
The external system this payment relates to. |
externalBillPayerReferences - [PaymentExternalSystemInput!]
|
The external system this bill payer relates to. |
amount - BadMoney!
|
|
childId - ChildId
|
The child this payment relates to, if any. |
paymentMethod - PaymentMethod!
|
The payment method used to make the payment. |
note - String!
|
A note to put on the payment (hidden from parents). |
paymentDate - LocalDate!
|
The date the payment was made on. |
invoiceIds - [InvoiceId!]
|
The ids of invoices to link the payment to. Each invoice must belong to the same bill payer as the payment and must not be a credit note. Duplicate ids are ignored. A payment can be linked to at most 50 invoices. |
metadata - [PaymentMetadataInput!]
|
Metadata to attach to the payment. |
Example
{
"billPayer": BillPayerReferenceInput,
"externalId": "abc123",
"externalSystem": PaymentExternalSystemInput,
"externalBillPayerReferences": [
PaymentExternalSystemInput
],
"amount": BadMoney,
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"paymentMethod": "GovernmentGrant",
"note": "xyz789",
"paymentDate": "2022-10-07",
"invoiceIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"metadata": [PaymentMetadataInput]
}
PaymentInvoiceRelation
Description
Invoices related to a payment
Fields
| Field Name | Description |
|---|---|
invoiceId - InvoiceId!
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
PaymentListingResult
Fields
| Field Name | Description |
|---|---|
result - [Payment!]!
|
|
next - PaymentCursor
|
Example
{
"result": [Payment],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
PaymentMetadata
PaymentMetadataInput
PaymentMethod
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"GovernmentGrant"
PaymentMutations
Description
For managing payments
Fields
| Field Name | Description |
|---|---|
create - [Payment!]!
|
Register new payments with the provided details. |
Arguments
|
|
update - [Payment!]!
|
Update existing payments with the provided details. |
Arguments
|
|
delete - [PaymentDeleteResult!]!
|
Delete payments. |
Arguments
|
|
Example
{
"create": [Payment],
"update": [Payment],
"delete": [PaymentDeleteResult]
}
PaymentQueries
Description
For querying payment data
Fields
| Field Name | Description |
|---|---|
listBySiteIds - PaymentListingResult!
|
A paginated list of payments. |
Arguments
|
|
Example
{"listBySiteIds": PaymentListingResult}
PaymentUpdateInput
Description
Data provided to update a payment in Famly
Fields
| Input Field | Description |
|---|---|
paymentId - PaymentId!
|
ID for payment to be updated |
amount - BadMoney!
|
|
paymentMethod - PaymentMethod!
|
The payment method used to make the payment. |
note - String!
|
A note to put on the payment (hidden from parents). |
paymentDate - LocalDate!
|
The date the payment was made on. |
metadata - [PaymentMetadataInput!]
|
Metadata to attach to the payment. The new metadata will be merged with any existing metadata. If a key already exists, its value will be updated. If a key's value is empty, it will be removed. If metadata is missing altogether, it will be removed. |
Example
{
"paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"amount": BadMoney,
"paymentMethod": "GovernmentGrant",
"note": "xyz789",
"paymentDate": "2022-10-07",
"metadata": [PaymentMetadataInput]
}
PaymentsSourceStatus
Description
Determines whether a source can be used for payments
Values
| Enum Value | Description |
|---|---|
|
|
This payments source can be used to make payments |
|
|
This payments source is pending validation |
|
|
This payments source is temporarily disabled |
|
|
This payments source is invalid for use |
|
|
This payment source failed to authorize |
Example
"READY"
PaymentsSourceType
Description
The type of entity this payments source represents
Values
| Enum Value | Description |
|---|---|
|
|
Debit Card |
|
|
Credit Card |
|
|
Bacs Direct Debit |
|
|
ACH |
|
|
SEPA |
|
|
ACSS |
|
|
Tax-Free Childcare |
Example
"DEBIT_CARD"
Person
Fields
| Field Name | Description |
|---|---|
name - Name!
|
|
id - LoginId
|
The Famly ID for the person |
profileImage - ProfileImage
|
Example
{
"name": Name,
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"profileImage": ProfileImage
}
PhoneInput
Description
Input for a contact phone
Fields
| Input Field | Description |
|---|---|
value - PhoneNumber!
|
|
phoneType - PhoneType!
|
Example
{
"value": "+17895551234",
"phoneType": "MOBILE"
}
PhoneNumber
Description
A string containing a possibly valid phone number
Example
"+17895551234"
PhoneNumberType
PhoneType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"MOBILE"
ProductId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ProfileImage
PublicMealType
ReasonForLeaving
Description
Represents a reason a child leaves a site.
Fields
| Field Name | Description |
|---|---|
id - ReasonForLeavingId!
|
|
name - String!
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789"
}
ReasonForLeavingId
Description
A string containing a 26-character Universally Unique Lexicographically Sortable Identifier
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
Record
RecordInput
ReferenceTag
RelationId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
Role
Description
A role and its granted/locked permissions
Fields
| Field Name | Description |
|---|---|
roleId - RoleId!
|
|
title - String!
|
|
locked - Boolean!
|
Whether this role can be edited |
source - RoleSource!
|
|
target - RoleTarget!
|
|
siteSetIds - [SiteSetId!]!
|
|
createdAt - ZonedDateTime!
|
Example
{
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123",
"locked": false,
"source": "ORGANIZATION_PERSON",
"target": "ORGANIZATION",
"siteSetIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"createdAt": "2022-10-07T01:08:03.420+02:00"
}
RoleAssignee
Description
A login assigned to a specific role
Fields
| Field Name | Description |
|---|---|
person - Person!
|
A generic representation of the assignee |
roleId - RoleId!
|
The ID of the role that has been assigned |
institutionSetId - InstitutionSetId!
|
Possible Types
| RoleAssignee Types |
|---|
Example
{
"person": Person,
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"institutionSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
RoleAssignment
RoleAssignmentInput
RoleCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
RoleId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
RoleInvitation
Description
Represents an invitation to take on a Role within the application
Fields
| Field Name | Description |
|---|---|
roleInvitationId - RoleInvitationId!
|
|
roleTitle - String!
|
|
roleId - RoleId!
|
|
verification - RoleInvitationVerification!
|
|
siteTitle - String!
|
|
privacyPolicyLink - String
|
Possible Types
| RoleInvitation Types |
|---|
Example
{
"roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleTitle": "xyz789",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"verification": RoleInvitationVerification,
"siteTitle": "abc123",
"privacyPolicyLink": "xyz789"
}
RoleInvitationId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
RoleInvitationVerification
Description
Represents the verification steps necessary to accept a RoleInvitation
Fields
| Field Name | Description |
|---|---|
verificationMethod - RoleInvitationVerificationMethod!
|
Possible Types
| RoleInvitationVerification Types |
|---|
Example
{"verificationMethod": "DATE_OF_BIRTH"}
RoleInvitationVerificationMethod
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"DATE_OF_BIRTH"
RoleSource
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ORGANIZATION_PERSON"
RoleTarget
Description
The object a role is granted for
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ORGANIZATION"
Roles
Description
Objects related to viewing roles and permissions
Fields
| Field Name | Description |
|---|---|
list - ListRolesResult!
|
|
Arguments
|
|
Example
{"list": ListRolesResult}
SendEmailInput
Description
Body of an email to send.
Fields
| Input Field | Description |
|---|---|
subject - String!
|
Subject line |
plainText - String!
|
Plain-text body (required; used as spam-score fallback) |
html - String
|
Optional HTML body. If omitted, an HTML body is derived from plainText with HTML-escaping. |
useTemplate - Boolean!
|
If true, wrap the HTML with Famly's branded email template. If false, send the HTML as-is. |
locale - String
|
Optional BCP-47 language tag (e.g. en-GB). Defaults to the recipient's site/child locale. |
Example
{
"subject": "abc123",
"plainText": "xyz789",
"html": "xyz789",
"useTemplate": false,
"locale": "abc123"
}
SendEmailResult
Description
The result of a send-email mutation
Fields
| Field Name | Description |
|---|---|
emailId - EmailId!
|
The identifier of the queued email. Can be used to correlate with delivery status. |
Example
{
"emailId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
SensitiveChildRecordKey
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DOCTOR_ADDRESS_STATE"
SessionId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
SetPdfResult
Description
The outcome of setting the PDF for an invoice
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
Example
{"success": false}
ShiftId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ShiftMutationPublicResultType
Fields
| Field Name | Description |
|---|---|
shift - ShiftPublicResultType!
|
Example
{"shift": ShiftPublicResultType}
ShiftPlannerByGroupPublicType
Fields
| Field Name | Description |
|---|---|
groups - [ShiftsByGroupPublicType!]!
|
Example
{"groups": [ShiftsByGroupPublicType]}
ShiftPlannerByGroupsCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ShiftPlannerByGroupsFilterV2
Fields
| Input Field | Description |
|---|---|
groupIds - [GroupId!]!
|
Example
{
"groupIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
]
}
ShiftPlannerByGroupsPublicResult
Fields
| Field Name | Description |
|---|---|
result - ShiftPlannerByGroupPublicType!
|
|
next - ShiftPlannerByGroupsCursor
|
Example
{
"result": ShiftPlannerByGroupPublicType,
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
ShiftPlannerByStaffCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ShiftPlannerByStaffFilter
Fields
| Input Field | Description |
|---|---|
employeeIds - [EmployeeId!]!
|
Example
{
"employeeIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
]
}
ShiftPlannerByStaffPublicResult
Fields
| Field Name | Description |
|---|---|
result - ShiftPlannerByStaffPublicType!
|
|
next - ShiftPlannerByStaffCursor
|
Example
{
"result": ShiftPlannerByStaffPublicType,
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
ShiftPlannerByStaffPublicType
Description
Shifts are structured by their assignment: They are either assigned to an employee or open (= unassigned).
Fields
| Field Name | Description |
|---|---|
openShifts - [OpenShiftsPublicType!]!
|
|
employees - [EmployeesWithAssignedShiftsPublicType!]!
|
Example
{
"openShifts": [OpenShiftsPublicType],
"employees": [EmployeesWithAssignedShiftsPublicType]
}
ShiftPlannerPublicMutations
Description
Shift planner public mutations
Fields
| Field Name | Description |
|---|---|
publish - ShiftPlannerPublishResultPublicType!
|
Publish draft shifts within date range or, if no date range is specified, publish all draft shifts. |
Arguments
|
|
shift - ShiftPublicMutations!
|
|
Example
{
"publish": ShiftPlannerPublishResultPublicType,
"shift": ShiftPublicMutations
}
ShiftPlannerPublicQueries
Description
Shift planner public queries
Fields
| Field Name | Description |
|---|---|
byGroups - ShiftPlannerByGroupsPublicResult!
|
Returns all shifts of the site in the given date range organized by groups. The result can be filtered passing a ShiftPlannerByGroupsFilter to only include specific groups. |
Arguments
|
|
byStaff - ShiftPlannerByStaffPublicResult!
|
Returns all open shifts and all employees with assigned shifts in the given date range. The result can further be filtered passing a ShiftPlannerByStaffFilter to only include specific employees. |
Arguments
|
|
Example
{
"byGroups": ShiftPlannerByGroupsPublicResult,
"byStaff": ShiftPlannerByStaffPublicResult
}
ShiftPlannerPublishResultPublicType
Fields
| Field Name | Description |
|---|---|
publishedShifts - [ShiftPublicType!]!
|
Example
{"publishedShifts": [ShiftPublicType]}
ShiftPublicInput
Fields
| Input Field | Description |
|---|---|
date - LocalDate!
|
|
startTime - LocalTime!
|
|
endTime - LocalTime!
|
|
breakMinutes - Int
|
|
employeeId - EmployeeId
|
|
groupId - GroupId!
|
|
workTagId - WorkTagId
|
|
managerNote - String
|
Example
{
"date": "2022-10-07",
"startTime": "01:08:03.420",
"endTime": "01:08:03.420",
"breakMinutes": 987,
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"managerNote": "xyz789"
}
ShiftPublicMutations
Description
Top level node for shift public mutations
Fields
| Field Name | Description |
|---|---|
create - ShiftMutationPublicResultType!
|
Create a new shift. |
Arguments
|
|
update - ShiftMutationPublicResultType!
|
Update a shift. |
Arguments
|
|
delete - ShiftMutationPublicResultType!
|
Delete a shift. |
Arguments
|
|
Example
{
"create": ShiftMutationPublicResultType,
"update": ShiftMutationPublicResultType,
"delete": ShiftMutationPublicResultType
}
ShiftPublicResultType
Fields
| Field Name | Description |
|---|---|
shiftId - ShiftId!
|
|
date - LocalDate!
|
|
startTime - LocalTime!
|
|
endTime - LocalTime!
|
|
breakMinutes - Int
|
|
state - ShiftState!
|
|
assignedTo - EmployeeId
|
|
location - GroupId!
|
|
workTag - WorkTagPublicAPIResultResultType
|
|
managerNote - ManagerNoteType
|
Example
{
"shiftId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"startTime": "01:08:03.420",
"endTime": "01:08:03.420",
"breakMinutes": 123,
"state": "DRAFT",
"assignedTo": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"location": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"workTag": WorkTagPublicAPIResultResultType,
"managerNote": ManagerNoteType
}
ShiftPublicType
Description
A shift can have two states: Draft or Published. Shifts are either assigned to an employee or open (not assigned). All shifts must be located in a group/room
Fields
| Field Name | Description |
|---|---|
shiftId - ShiftId!
|
|
date - LocalDate!
|
|
startTime - LocalTime!
|
|
endTime - LocalTime!
|
|
breakMinutes - Int
|
|
state - ShiftState!
|
|
location - GroupId!
|
|
assignedTo - EmployeeId
|
|
workTag - WorkTagPublicAPIResultResultType
|
|
note - ManagerNoteType
|
Example
{
"shiftId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"startTime": "01:08:03.420",
"endTime": "01:08:03.420",
"breakMinutes": 987,
"state": "DRAFT",
"location": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"assignedTo": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"workTag": WorkTagPublicAPIResultResultType,
"note": ManagerNoteType
}
ShiftState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DRAFT"
ShiftUpdatePublicInput
Fields
| Input Field | Description |
|---|---|
shiftId - ShiftId!
|
|
date - LocalDate!
|
|
startTime - LocalTime!
|
|
endTime - LocalTime!
|
|
breakMinutes - Int
|
|
employeeId - EmployeeId
|
|
groupId - GroupId!
|
|
workTagId - WorkTagId
|
|
managerNote - String
|
Example
{
"shiftId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"startTime": "01:08:03.420",
"endTime": "01:08:03.420",
"breakMinutes": 987,
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"managerNote": "xyz789"
}
ShiftsByGroupPublicType
Fields
| Field Name | Description |
|---|---|
groupId - GroupId!
|
|
title - String!
|
|
openShifts - [OpenShiftsPublicType!]!
|
|
employees - [EmployeesWithAssignedShiftsPublicType!]!
|
Example
{
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123",
"openShifts": [OpenShiftsPublicType],
"employees": [EmployeesWithAssignedShiftsPublicType]
}
Site
Description
Represents a single physical site
Fields
| Field Name | Description |
|---|---|
siteId - SiteId!
|
The Famly ID for the site |
title - String!
|
|
address - Address
|
|
contactPerson - Name!
|
|
email - String!
|
|
phone - PhoneNumberType!
|
|
socialMedia - SocialMedia
|
|
description - String
|
|
openingHours - OpeningHours!
|
|
position - InstitutionPosition
|
|
externalSystemsReferences - [ForeignSite!]!
|
External systems references for the site |
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "xyz789",
"address": Address,
"contactPerson": Name,
"email": "example@famly.co",
"phone": PhoneNumberType,
"socialMedia": SocialMedia,
"description": "abc123",
"openingHours": OpeningHours,
"position": InstitutionPosition,
"externalSystemsReferences": [ForeignSite]
}
SiteCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
SiteId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
SiteQueries
Description
For querying sites
Fields
| Field Name | Description |
|---|---|
list - SiteResult!
|
List sites If no arguments are provided, all sites the current user has access to are returned. |
Arguments
|
|
Example
{"list": SiteResult}
SiteRelation
Description
Represents child relation with sites
Fields
| Field Name | Description |
|---|---|
firstDay - LocalDate!
|
Child first day in a site |
lastDay - LocalDate
|
Child last day in a site, if defined |
site - Site!
|
Site related to child |
Example
{
"firstDay": "2022-10-07",
"lastDay": "2022-10-07",
"site": Site
}
SiteRelationInput
Description
Input for creating a site relation for a child
Fields
| Input Field | Description |
|---|---|
siteId - InstitutionId!
|
|
firstDay - LocalDate!
|
|
lastDay - LocalDate
|
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"firstDay": "2022-10-07",
"lastDay": "2022-10-07"
}
SiteResult
Description
Paged results for sites (Not currently paged)
Fields
| Field Name | Description |
|---|---|
next - SiteCursor
|
|
result - [Site!]!
|
Example
{
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"result": [Site]
}
SiteSetId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
SocialMedia
StaffAbsenceSubTypePublicInput
Description
Input for creating or modifying a staff absence sub type
Fields
| Input Field | Description |
|---|---|
leaveType - StaffLeaveType!
|
|
name - String!
|
|
code - String
|
|
paid - Boolean
|
Example
{
"leaveType": "SICK",
"name": "xyz789",
"code": "abc123",
"paid": true
}
StaffAbsenceSubTypePublicMutations
Description
Public operations mutating staff absence sub types
Fields
| Field Name | Description |
|---|---|
create - StaffAbsenceSubTypePublicType!
|
|
Arguments
|
|
delete - [StaffLeaveSubTypeId!]!
|
|
Arguments
|
|
update - StaffAbsenceSubTypePublicType!
|
|
Arguments
|
|
Example
{
"create": StaffAbsenceSubTypePublicType,
"delete": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"update": StaffAbsenceSubTypePublicType
}
StaffAbsenceSubTypePublicType
Description
Staff Absence Subtype Public Type
Fields
| Field Name | Description |
|---|---|
id - StaffLeaveSubTypeId!
|
|
leaveType - StaffLeaveType!
|
|
name - String!
|
|
code - String
|
|
paid - Boolean
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"leaveType": "SICK",
"name": "abc123",
"code": "abc123",
"paid": false
}
StaffAbsenceSubTypesPublicQueries
Description
Staff absence sub type public queries
Fields
| Field Name | Description |
|---|---|
list - [StaffAbsenceSubTypePublicType!]!
|
|
Arguments
|
|
Example
{"list": [StaffAbsenceSubTypePublicType]}
StaffHoursByStaffCursor
Description
A string representing a cursor into a paged result
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
StaffHoursTotalsByStaffType
Fields
| Field Name | Description |
|---|---|
employee - Employee!
|
|
bankHours - BankHoursPublic
|
|
totals - StaffHoursTotalsPublicType!
|
Example
{
"employee": Employee,
"bankHours": BankHoursPublic,
"totals": StaffHoursTotalsPublicType
}
StaffHoursTotalsPublicQueriesType
Description
Staff hours totals public queries
Fields
| Field Name | Description |
|---|---|
byStaff - StaffHoursTotalsResult!
|
Query the staff hours totals in the date range for all employees of the site. The maximum date range is 365 days. Filters: The result can be filtered on employee ids and on employee base rooms. If group ids are passed, the query will only return employees whose base room set to that group. Pagination will only be active if the parameter page size is passed. If no page size is defined the query result will not be paginated. |
Arguments
|
|
Example
{"byStaff": StaffHoursTotalsResult}
StaffHoursTotalsPublicType
Fields
| Field Name | Description |
|---|---|
contractedMinutes - Int!
|
|
attendedMinutes - Int!
|
Attended = The sum of check-in periods, excluding break time |
scheduledMinutes - Int!
|
Scheduled = The sum of all published shifts assigned to the employee, excluding break time |
breakMinutes - Int!
|
Break = The sum of breaks of all published shifts assigned to the employee |
isSignOutMissing - Boolean!
|
|
leaveMinutes - LeaveMinutesPublicType!
|
|
periodTotal - Int!
|
Period Total = Attended + Paid leave |
contractedDifference - Int!
|
Contract Difference = Attended Total - Contracted |
scheduleDifference - Int!
|
Schedule Difference = Attended - Scheduled |
Example
{
"contractedMinutes": 987,
"attendedMinutes": 987,
"scheduledMinutes": 987,
"breakMinutes": 987,
"isSignOutMissing": false,
"leaveMinutes": LeaveMinutesPublicType,
"periodTotal": 123,
"contractedDifference": 987,
"scheduleDifference": 987
}
StaffHoursTotalsResult
Fields
| Field Name | Description |
|---|---|
dateRange - TimeRangeClosed!
|
|
byStaff - [StaffHoursTotalsByStaffType!]!
|
|
next - StaffHoursByStaffCursor
|
Example
{
"dateRange": TimeRangeClosed,
"byStaff": [StaffHoursTotalsByStaffType],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
StaffLeaveBalance
Description
Represents an employee leave
Fields
| Field Name | Description |
|---|---|
employeeId - EmployeeId!
|
Employee ID |
leaveType - StaffLeaveType!
|
Leave type |
balance - Float
|
Leave reason |
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"leaveType": "SICK",
"balance": 123.45
}
StaffLeaveCreateInputPublicAPI
Fields
| Input Field | Description |
|---|---|
siteId - SiteId!
|
|
employeeId - EmployeeId!
|
|
leaveType - StaffLeaveType!
|
|
leaveSubTypeId - StaffLeaveSubTypeId
|
|
date - LocalDate!
|
|
startTime - LocalTime
|
|
endTime - LocalTime
|
|
staffNote - String
|
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"leaveType": "SICK",
"leaveSubTypeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"startTime": "01:08:03.420",
"endTime": "01:08:03.420",
"staffNote": "abc123"
}
StaffLeaveSettingMutations
Description
For mutating staff absence settings
Fields
| Field Name | Description |
|---|---|
staffAbsenceSubtypes - StaffAbsenceSubTypePublicMutations!
|
|
updateEmployeeAbsenceDayHours - Float!
|
Set site-wide default for the hours to measure a full day of absence |
Arguments
|
|
updateHolidayEntitlementMinutes - Int!
|
Set the number of entitled holiday minutes. It cannot be a negative number or exceed the equivalent of 366 days in minutes. |
Arguments
|
|
updateHolidayAbsenceRange - FiscalYear!
|
Change the default holiday absence range |
Arguments
|
|
updateApprovalRequired - Boolean!
|
Change approval required setting for absence types |
Arguments
|
|
updateSubTypeIsRequired - Boolean!
|
Change if sub type is required |
Arguments
|
|
updateSubTypeIsRestricted - Boolean!
|
Change if sub type is restricted |
Arguments
|
|
updateIsPaid - Boolean!
|
Change if absence type is paid |
Arguments
|
|
Example
{
"staffAbsenceSubtypes": StaffAbsenceSubTypePublicMutations,
"updateEmployeeAbsenceDayHours": 123.45,
"updateHolidayEntitlementMinutes": 123,
"updateHolidayAbsenceRange": "JAN1DEC31",
"updateApprovalRequired": true,
"updateSubTypeIsRequired": false,
"updateSubTypeIsRestricted": false,
"updateIsPaid": false
}
StaffLeaveSettingQueries
Description
For querying staff absence settings
Fields
| Field Name | Description |
|---|---|
staffAbsenceSubtypes - StaffAbsenceSubTypesPublicQueries!
|
|
staffAbsenceSettingResult - staffAbsenceSettingsPublicType!
|
|
Arguments
|
|
Example
{
"staffAbsenceSubtypes": StaffAbsenceSubTypesPublicQueries,
"staffAbsenceSettingResult": staffAbsenceSettingsPublicType
}
StaffLeaveSubTypeId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
StaffLeaveType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"SICK"
StaffLeaveUpdateInputPublicAPI
Fields
| Input Field | Description |
|---|---|
leaveId - EmployeeLeaveId!
|
|
siteId - SiteId!
|
|
employeeId - EmployeeId!
|
|
leaveType - StaffLeaveType!
|
|
leaveSubTypeId - StaffLeaveSubTypeId
|
|
date - LocalDate!
|
|
startTime - LocalTime
|
|
endTime - LocalTime
|
|
staffNote - String
|
Example
{
"leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"leaveType": "SICK",
"leaveSubTypeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2022-10-07",
"startTime": "01:08:03.420",
"endTime": "01:08:03.420",
"staffNote": "abc123"
}
Status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"WAITING_LIST"
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
StripePayment
Description
Details of a Stripe payment
Fields
| Field Name | Description |
|---|---|
feeAmount - BadMoney!
|
The fee amount charged for the payment |
payoutId - String
|
The payout identifier in which the payment was included |
payoutDate - LocalDate
|
Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays. |
payoutForRefundId - String
|
The payout identifier in which the refund was included |
payoutForRefundDate - LocalDate
|
Date the refund payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays. |
paymentId - PaymentId!
|
Example
{
"feeAmount": BadMoney,
"payoutId": "abc123",
"payoutDate": "2022-10-07",
"payoutForRefundId": "abc123",
"payoutForRefundDate": "2022-10-07",
"paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
SubmissionId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
TaxFreeChildcarePayment
Description
Details of a Tax-Free Childcare payment
Fields
| Field Name | Description |
|---|---|
reference - String!
|
Reference for the Tax-Free Childcare payment |
estimatedPaymentDate - LocalDate!
|
Date the Tax-Free Childcare payment is expected to arrive in the bank. |
paymentId - PaymentId!
|
Example
{
"reference": "abc123",
"estimatedPaymentDate": "2022-10-07",
"paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
TimeRangeClosed
Fields
| Field Name | Description |
|---|---|
from - LocalDate!
|
|
to - LocalDate!
|
Example
{
"from": "2022-10-07",
"to": "2022-10-07"
}
TimeRangeClosedLocalTime
Fields
| Field Name | Description |
|---|---|
from - LocalTime!
|
|
to - LocalTime!
|
Example
{
"from": "01:08:03.420",
"to": "01:08:03.420"
}
TransactionStatus
Description
The current status of a transaction
Values
| Enum Value | Description |
|---|---|
|
|
Transaction is waiting to be sent to the payment provider |
|
|
The payment was abandoned before completing validation |
|
|
Transaction completed successfully |
|
|
Payment requires further validation to complete |
|
|
Transaction has been sent and is being processed |
|
|
The transaction was disputed |
|
|
The transaction was refunded |
|
|
The transaction completed unsuccessfully |
|
|
The payment was successful but is pending invoice creation |
Example
"PENDING"
URI
Description
A string containing a valid absolute URI
Example
URI
UniqueId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
VacationId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
ValidEmailAddress
Description
A valid email address
Example
"example@famly.co"
WorkAvailabilityPublic
Fields
| Field Name | Description |
|---|---|
monday - TimeRangeClosedLocalTime
|
|
tuesday - TimeRangeClosedLocalTime
|
|
wednesday - TimeRangeClosedLocalTime
|
|
thursday - TimeRangeClosedLocalTime
|
|
friday - TimeRangeClosedLocalTime
|
|
saturday - TimeRangeClosedLocalTime
|
|
sunday - TimeRangeClosedLocalTime
|
|
validFrom - LocalDate!
|
|
validTo - LocalDate
|
Example
{
"monday": TimeRangeClosedLocalTime,
"tuesday": TimeRangeClosedLocalTime,
"wednesday": TimeRangeClosedLocalTime,
"thursday": TimeRangeClosedLocalTime,
"friday": TimeRangeClosedLocalTime,
"saturday": TimeRangeClosedLocalTime,
"sunday": TimeRangeClosedLocalTime,
"validFrom": "2022-10-07",
"validTo": "2022-10-07"
}
WorkAvailabilityPublicInput
Fields
| Input Field | Description |
|---|---|
monday - ClosedLocalTimeRange
|
|
tuesday - ClosedLocalTimeRange
|
|
wednesday - ClosedLocalTimeRange
|
|
thursday - ClosedLocalTimeRange
|
|
friday - ClosedLocalTimeRange
|
|
saturday - ClosedLocalTimeRange
|
|
sunday - ClosedLocalTimeRange
|
Example
{
"monday": ClosedLocalTimeRange,
"tuesday": ClosedLocalTimeRange,
"wednesday": ClosedLocalTimeRange,
"thursday": ClosedLocalTimeRange,
"friday": ClosedLocalTimeRange,
"saturday": ClosedLocalTimeRange,
"sunday": ClosedLocalTimeRange
}
WorkAvailabilityPublicMutations
Description
Work Availability public mutations
Fields
| Field Name | Description |
|---|---|
save - WorkAvailabilityPublicResult!
|
Save employee work availability. Replaces current value if present, always effective from today. |
Arguments
|
|
Example
{"save": WorkAvailabilityPublicResult}
WorkAvailabilityPublicQueries
Description
Work Availability public queries
Fields
| Field Name | Description |
|---|---|
byEmployee - WorkAvailabilityPublicResult!
|
Returns current value for employee work availability, if defined. |
Arguments
|
|
byEmployees - [WorkAvailabilityPublicResult!]!
|
Returns current value for employees work availability. |
Arguments
|
|
bySite - [WorkAvailabilityPublicResult!]!
|
Returns current value for work availability of all employees in a given site. |
Arguments
|
|
default - WorkAvailabilityPublic!
|
Returns default work availability for the site, which corresponds to current opening hours. |
Arguments
|
|
Example
{
"byEmployee": WorkAvailabilityPublicResult,
"byEmployees": [WorkAvailabilityPublicResult],
"bySite": [WorkAvailabilityPublicResult],
"default": WorkAvailabilityPublic
}
WorkAvailabilityPublicResult
Fields
| Field Name | Description |
|---|---|
employeeId - EmployeeId!
|
|
current - WorkAvailabilityPublic
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"current": WorkAvailabilityPublic
}
WorkTagColor
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"YELLOW"
WorkTagId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
WorkTagPublicAPICreateInputType
Fields
| Input Field | Description |
|---|---|
name - String!
|
|
color - WorkTagColor
|
|
code - String
|
Example
{
"name": "xyz789",
"color": "YELLOW",
"code": "abc123"
}
WorkTagPublicAPIMutationsType
Description
Work tag mutations
Fields
| Field Name | Description |
|---|---|
create - WorkTagPublicAPIResultResultType!
|
|
Arguments
|
|
update - WorkTagPublicAPIResultResultType!
|
|
Arguments
|
|
delete - WorkTagPublicAPIResultResultType!
|
|
Arguments
|
|
Example
{
"create": WorkTagPublicAPIResultResultType,
"update": WorkTagPublicAPIResultResultType,
"delete": WorkTagPublicAPIResultResultType
}
WorkTagPublicAPIQueriesType
Description
Work tag queries
Fields
| Field Name | Description |
|---|---|
bySiteSetId - [WorkTagPublicAPIResultResultType!]!
|
|
Arguments
|
|
Example
{"bySiteSetId": [WorkTagPublicAPIResultResultType]}
WorkTagPublicAPIResultResultType
Fields
| Field Name | Description |
|---|---|
tagId - WorkTagId!
|
|
name - String!
|
|
color - WorkTagColor
|
|
code - String
|
Example
{
"tagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"color": "YELLOW",
"code": "xyz789"
}
WorkTagPublicAPIUpdateInputType
Fields
| Input Field | Description |
|---|---|
tagId - WorkTagId!
|
|
name - String!
|
|
color - WorkTagColor
|
|
code - String
|
Example
{
"tagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "abc123",
"color": "YELLOW",
"code": "abc123"
}
WorkTagResultResultType
Fields
| Field Name | Description |
|---|---|
tagId - WorkTagId!
|
|
siteId - SiteId!
|
|
name - String!
|
|
color - WorkTagColor
|
|
code - String
|
Example
{
"tagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"color": "YELLOW",
"code": "xyz789"
}
ZonedDateTime
Description
A string containing an instant in a specific time zone
Example
"2022-10-07T01:08:03.420+02:00"
staffAbsenceSettingsPublicType
Description
Staff Absence Related Site Settings Public Values
Fields
| Field Name | Description |
|---|---|
siteSetId - SiteSetId!
|
|
employeeAbsenceDayHours - Float
|
Site-wide default for the hours to measure a full day of absence |
absenceRange - FiscalYear
|
Absence range for holidays |
holidayApprovalRequired - Boolean
|
Require absence approval for holiday |
absentApprovalRequired - Boolean
|
Require absence approval for absent |
childSickApprovalRequired - Boolean
|
Require absence approval for child sick |
sickApprovalRequired - Boolean
|
Require absence approval for sick |
holidayIsPaid - Boolean
|
|
absentIsPaid - Boolean
|
|
childSickIsPaid - Boolean
|
|
sickIsPaid - Boolean
|
|
holidayEntitlementMinutes - Int!
|
|
subTypeIsRequired - Boolean
|
|
subTypeIsRestricted - Boolean
|
Example
{
"siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeAbsenceDayHours": 987.65,
"absenceRange": "JAN1DEC31",
"holidayApprovalRequired": true,
"absentApprovalRequired": false,
"childSickApprovalRequired": false,
"sickApprovalRequired": false,
"holidayIsPaid": false,
"absentIsPaid": true,
"childSickIsPaid": true,
"sickIsPaid": true,
"holidayEntitlementMinutes": 123,
"subTypeIsRequired": false,
"subTypeIsRestricted": true
}



