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
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
note
children {
childId
share {
multiplier
}
}
invoiceRecipients {
relationId
contactId
billPayerId
name
email
}
externalId
balance
}
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
}
}
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
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
next
}
listByChildIds {
result {
id
name {
firstName
middleName
lastName
fullName
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
next
}
list {
result {
id
name {
firstName
middleName
lastName
fullName
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
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
}
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
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
}
}
}
employees
Description
For querying employees
Response
Returns an
EmployeeQueries!
Example
Query
query Employees {
employees {
list {
employees {
id
name {
firstName
middleName
lastName
fullName
}
siteId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
}
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
}
}
}
}
Response
{"data": {"employees": {"list": EmployeesResult}}}
groups
Description
For querying groups
Response
Returns a
GroupQueries!
Example
Query
query Groups {
groups {
list {
id
title
description
institutionId
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
createdAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
}
note
}
}
}
Response
{"data": {"inquiries": {"listBySiteIds": [ChildInquiry]}}}
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
}
}
pdfResult {
... on InvoicePdfSuccessType {
succeeded
}
... on InvoicePdfFailedType {
errors
}
}
invoiceNumber
}
next
}
}
}
Response
{
"data": {
"invoices": {"listBySiteIds": InvoiceListingResult}
}
}
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 leaves 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
}
}
}
}
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
}
}
}
}
}
}
}
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
paymentDate
billPayer {
billPayerId
siteId
name
email
accountNumber
sortCode
note
}
currency
viaFamlyPay
isDeposited
depositDate
depositId
invoices {
invoiceId
}
externalSystem {
id
system
name
externalType
}
}
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
}
}
}
employees {
employee {
id
name {
firstName
middleName
lastName
fullName
}
siteId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
...ProfileImageFragment
}
}
profileImage {
url
}
email
title
birthDate
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
...PersonFragment
}
institutionSetId
roleId
}
customEmployeeId
}
scheduledMinutes
assignedShifts {
date
scheduledMinutesOnDay
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
...WorkTagPublicAPIResultResultTypeFragment
}
}
}
}
}
}
next
}
byStaff {
result {
openShifts {
date
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
tagId
name
color
code
}
}
}
employees {
employee {
id
name {
firstName
middleName
lastName
fullName
}
siteId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
...NameFragment
}
profileImage {
...ProfileImageFragment
}
}
institutionSetId
roleId
}
customEmployeeId
}
scheduledMinutes
assignedShifts {
date
scheduledMinutesOnDay
shifts {
shiftId
date
startTime
endTime
breakMinutes
state
location
assignedTo
workTag {
tagId
name
color
code
}
}
}
}
}
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
}
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
}
}
}
}
}
Response
{"data": {"sites": {"list": SiteResult}}}
staffhourstotals
Response
Returns a
StaffHoursTotalsPublicQueriesType!
Example
Query
query Staffhourstotals {
staffhourstotals {
byStaff {
dateRange {
from
to
}
byStaff {
employee {
id
name {
firstName
middleName
lastName
fullName
}
siteId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
}
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
}
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
note
children {
childId
share {
multiplier
}
}
invoiceRecipients {
relationId
contactId
billPayerId
name
email
}
externalId
balance
}
update {
billPayerId
siteId
name
phone
address {
street
zip
city
state
country
}
email
accountNumber
sortCode
note
}
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
]
}
}
}
children
Description
For creating and updating children
Response
Returns a
ChildrenMutation!
Example
Query
mutation Children {
children {
create {
id
name {
firstName
middleName
lastName
fullName
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
update {
id
name {
firstName
middleName
lastName
fullName
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
delete
moveGroup {
childId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
url
}
}
date
time
}
cancelGroupMove {
childId
groupId
group {
id
title
description
institutionId
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
}
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
records {
key
value
}
}
update {
id
name {
firstName
middleName
lastName
fullName
}
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
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
}
}
}
employees
Description
For managing employees
Response
Returns an
EmployeeMutations!
Example
Query
mutation Employees {
employees {
create {
id
name {
firstName
middleName
lastName
fullName
}
siteId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
}
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
}
update {
id
name {
firstName
middleName
lastName
fullName
}
siteId
groupId
group {
id
title
description
institutionId
staffRatio
ordering
profileImage {
url
}
}
profileImage {
url
}
email
title
birthDate
phoneNumber {
value
phoneType
formatted
}
address {
street
zip
city
state
country
}
firstDay
lastDay
roleId
role {
employeeId
person {
name {
firstName
middleName
lastName
fullName
}
profileImage {
url
}
}
institutionSetId
roleId
}
customEmployeeId
}
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
staffRatio
ordering
profileImage {
url
}
}
update {
id
title
description
institutionId
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
createdAt
id
status
childId
child {
id
name {
firstName
middleName
lastName
fullName
}
gender
birthday
currentGroup {
id
title
description
institutionId
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
}
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
}
}
}
contacts {
id
name {
firstName
middleName
lastName
fullName
}
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
records {
key
value
}
}
}
source
bookingSource
reason
lostCategory
lostReason
actions {
id
inquiryId
type
lastUpdatedAt
note
subject
}
note
}
}
}
Response
{"data": {"inquiries": {"create": [ChildInquiry]}}}
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
}
}
pdfResult {
... on InvoicePdfSuccessType {
succeeded
}
... on InvoicePdfFailedType {
errors
}
}
invoiceNumber
}
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 leaves for children and employees
Response
Returns a
LeavesMutations!
Example
Query
mutation Leaves {
leaves {
employees {
delete
}
}
}
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
paymentDate
billPayer {
billPayerId
siteId
name
email
accountNumber
sortCode
note
}
currency
viaFamlyPay
isDeposited
depositDate
depositId
invoices {
invoiceId
}
externalSystem {
id
system
name
externalType
}
}
update {
id
amount
childId
paymentMethod
note
paymentDate
billPayer {
billPayerId
siteId
name
email
accountNumber
sortCode
note
}
currency
viaFamlyPay
isDeposited
depositDate
depositId
invoices {
invoiceId
}
externalSystem {
id
system
name
externalType
}
}
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
}
}
}
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
}
}
}
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
AccountId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
AccountType
Fields
Field Name | Description |
---|---|
accountId -
AccountId!
|
|
title -
String!
|
|
reference -
String!
|
Example
{
"accountId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "abc123",
"reference": "abc123"
}
Address
AddressInput
AssignedShiftsPublicType
Fields
Field Name | Description |
---|---|
date -
LocalDate!
|
|
scheduledMinutesOnDay -
Float!
|
|
shifts -
[ShiftPublicType!]!
|
Example
{
"date": "2020-07-19",
"scheduledMinutesOnDay": 123.45,
"shifts": [ShiftPublicType]
}
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": ZonedDateTime,
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
BankHoursPublicInput
Fields
Input Field | Description |
---|---|
minutes -
Int!
|
Example
{"minutes": 987}
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 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
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": "xyz789",
"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 |
note -
String
|
Free-text notes kept regarding the bill payer |
children -
[BillPayerChild!]!
|
|
invoiceRecipients -
[InvoiceRecipient!]!
|
|
externalId -
String
|
|
balance -
BadMoney!
|
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "abc123",
"phone": "abc123",
"address": Address,
"email": "example@famly.co",
"accountNumber": "xyz789",
"sortCode": "abc123",
"note": "xyz789",
"children": [BillPayerChild],
"invoiceRecipients": [InvoiceRecipient],
"externalId": "xyz789",
"balance": BadMoney
}
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": "abc123",
"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": "abc123",
"email": "example@famly.co",
"accountNumber": "xyz789",
"sortCode": "abc123",
"note": "abc123"
}
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 |
note -
String
|
Free-text notes kept regarding the bill payer |
Example
{
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "abc123",
"phone": "xyz789",
"address": Address,
"email": "example@famly.co",
"accountNumber": "abc123",
"sortCode": "xyz789",
"note": "abc123"
}
BillPayerUpdateInput
Description
Input for updating a bill payer
Fields
Input Field | 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 -
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": "abc123"
}
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"
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!]!
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": Name,
"gender": "FEMALE",
"birthday": "2020-07-19",
"currentGroup": Group,
"profileImage": ProfileImage,
"records": [Record],
"sensitiveRecords": [Record],
"sitesRelation": [SiteRelation],
"contacts": [Contact]
}
ChildCheckin
Description
Represents a child checkin
Fields
Field Name | Description |
---|---|
result -
[ChildCheckinResult!]!
|
A paginated list of Child checkins |
next -
CheckinCursor
|
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"
}
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": ZonedDateTime,
"pickupTime": ZonedDateTime,
"checkoutTime": ZonedDateTime
}
ChildContactRoleInvitation
Fields
Field Name | Description |
---|---|
relationId -
RelationId!
|
|
contactFirstName -
String!
|
|
childFirstName -
String!
|
Use field childName instead. |
childName -
Name!
|
|
childProfileImage -
ProfileImage
|
|
roleInvitationId -
RoleInvitationId!
|
|
roleTitle -
String!
|
|
roleId -
RoleId!
|
|
verification -
RoleInvitationVerification!
|
|
siteTitle -
String!
|
|
privacyPolicyLink -
String
|
Example
{
"relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"contactFirstName": "abc123",
"childFirstName": "xyz789",
"childName": Name,
"childProfileImage": ProfileImage,
"roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleTitle": "xyz789",
"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": "abc123",
"verificationMethod": "DATE_OF_BIRTH"
}
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
|
Example
{
"name": NameInput,
"gender": "FEMALE",
"birthday": "2020-07-19",
"currentGroupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"records": [RecordInput],
"sensitiveRecords": [RecordInput],
"sitesRelation": [SiteRelationInput],
"isTestChild": false
}
ChildInquiry
Description
Represents a child inquiry
Fields
Field Name | Description |
---|---|
siteId -
InstitutionId!
|
Site ID |
createdAt -
ZonedDateTime!
|
The date of the inquiry |
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 |
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"createdAt": ZonedDateTime,
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"status": "WAITING_LIST",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"child": Child,
"source": "abc123",
"bookingSource": "xyz789",
"reason": "xyz789",
"lostCategory": "abc123",
"lostReason": "xyz789",
"actions": [InquiryAction],
"note": "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
|
Example
{"create": [ChildInquiry]}
ChildInquiryQueries
Description
For querying inquiries for children
Fields
Field Name | Description |
---|---|
listBySiteIds -
[ChildInquiry!]!
|
Get all inquiries for given sites |
Arguments
|
Example
{"listBySiteIds": [ChildInquiry]}
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": "2020-07-19",
"leaveType": "xyz789",
"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
|
Example
{"listBySiteIds": ChildLeavesResult}
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!]!
|
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": NameInput,
"gender": "FEMALE",
"birthday": "2020-07-19",
"currentGroupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"records": [RecordInput],
"sensitiveRecords": [RecordInput],
"sitesRelation": [SiteRelationInput]
}
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": "2020-07-19",
"to": "2020-07-19"
}
ClosedLocalTimeRange
Fields
Input Field | Description |
---|---|
from -
LocalTime!
|
|
to -
LocalTime!
|
Example
{
"from": "08:45:59",
"to": "08:45:59"
}
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!
|
|
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": true,
"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
- 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": true
}
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
{
"contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleId": "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": 987,
"minutes": 987,
"validFrom": "2020-07-19",
"validTo": "2020-07-19"
}
ContractedHoursPublicInput
Fields
Input Field | Description |
---|---|
effectiveDate -
LocalDate!
|
|
hours -
Int!
|
|
minutes -
Int!
|
Example
{
"effectiveDate": "2020-07-19",
"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": 987,
"minutes": 123,
"date": "2020-07-19"
}
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"
}
EmailAddress
Description
A string containing a possibly valid email address
Example
"example@famly.co"
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 |
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. |
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": "2020-07-19",
"phoneNumber": PhoneNumberType,
"address": Address,
"firstDay": "2020-07-19",
"lastDay": "2020-07-19",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"role": EmployeeAssignee,
"customEmployeeId": "xyz789"
}
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"
}
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"
}
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
|
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": ZonedDateTime,
"estimatedCheckoutTime": ZonedDateTime,
"checkoutTime": ZonedDateTime,
"workTag": WorkTagResultResultType
}
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
|
Example
{
"name": "abc123",
"institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co",
"title": "xyz789",
"birthDate": "2020-07-19",
"phoneNumber": "xyz789",
"address": AddressInput,
"firstDay": "2020-07-19",
"lastDay": "2020-07-19",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"customEmployeeId": "abc123"
}
EmployeeLeave
Description
Represents an employee leave
Fields
Field Name | Description |
---|---|
leaveId -
EmployeeLeaveId!
|
Employee leave ID |
employeeId -
EmployeeId!
|
Employee ID |
siteId -
InstitutionId!
|
Site ID |
date -
LocalDate!
|
Leave date |
leaveType -
String!
|
Leave type |
leaveSubTypeName -
String
|
Leave subtype name |
leaveSubTypeCode -
String
|
Leave subtype code |
reason -
String
|
Leave reason |
startTime -
LocalDateTime
|
For hourly leave: start time of a leave |
endTime -
LocalDateTime
|
For hourly leave: end time of a leave |
hours -
Float
|
|
minutes -
Int
|
|
deletedAt -
LocalDateTime
|
For leaves that were deleted: deletion time. Null for active leaves |
Example
{
"leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2020-07-19",
"leaveType": "abc123",
"leaveSubTypeName": "abc123",
"leaveSubTypeCode": "abc123",
"reason": "abc123",
"startTime": "2022-10-07T01:08:03.420Z",
"endTime": "2022-10-07T01:08:03.420Z",
"hours": 987.65,
"minutes": 123,
"deletedAt": "2022-10-07T01:08:03.420Z"
}
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 leaves
Fields
Field Name | Description |
---|---|
delete -
EmployeeLeaveId!
|
Delete an employee leave by passing the id of the employee leave as parameter. The method returns the employee leave id of the leave that has been deleted. |
Arguments
|
Example
{
"delete": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmployeeLeaveQueries
Description
For querying employee leaves
Fields
Field Name | Description |
---|---|
listBySiteIds -
EmployeeLeavesResult!
|
A paginated list of employees' leaves in the given a list of organization, area or institution IDs |
Arguments
|
Example
{"listBySiteIds": EmployeeLeavesResult}
EmployeeLeavesResult
Description
Represents the paginated result of listing employee leaves
Fields
Field Name | Description |
---|---|
result -
[EmployeeLeave!]!
|
A paginated list of employee leaves. NOTE: If the |
next -
EmployeeLeaveCursor
|
If this token is not empty, use this as an argument to fetch the next set of employee leaves. |
Example
{
"result": [EmployeeLeave],
"next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
EmployeeMutations
Description
For managing employees
Fields
Field Name | Description |
---|---|
create -
[Employee!]!
|
Create one or more employees |
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 |
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
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"name": "xyz789",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co",
"title": "xyz789",
"birthDate": "2020-07-19",
"phoneNumber": "xyz789",
"address": AddressInput,
"firstDay": "2020-07-19",
"lastDay": "2020-07-19",
"roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"customEmployeeId": "xyz789"
}
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": "2020-07-19"
}
EmployeeUpdateCustomEmployeeId
Fields
Input Field | Description |
---|---|
employeeId -
EmployeeId!
|
|
customEmployeeId -
String
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"customEmployeeId": "abc123"
}
EmployeeUpdateEmail
Fields
Input Field | Description |
---|---|
employeeId -
EmployeeId!
|
|
email -
EmailAddress
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"email": "example@famly.co"
}
EmployeeUpdateGroupId
Fields
Input Field | Description |
---|---|
employeeId -
EmployeeId!
|
|
groupId -
GroupId!
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
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
}
EmployeeUpdateRoleId
Fields
Input Field | Description |
---|---|
employeeId -
EmployeeId!
|
|
roleId -
RoleId
|
Example
{
"employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"roleId": "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
Paged results for employees (Not currently paged)
Fields
Field Name | Description |
---|---|
employees -
[Employee!]!
|
Example
{"employees": [Employee]}
EmployeesWithAssignedShiftsPublicType
Fields
Field Name | Description |
---|---|
employee -
Employee
|
|
scheduledMinutes -
Int!
|
|
assignedShifts -
[AssignedShiftsPublicType!]!
|
Example
{
"employee": Employee,
"scheduledMinutes": 987,
"assignedShifts": [AssignedShiftsPublicType]
}
ErrorReportResponse
Description
Return the invoice ID and indication on whether the error was sucessfully 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 XLedger |
|
Integration with QuickBooks |
|
Integration with an unknown system |
|
Integration with custom systems |
Example
"XERO"
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
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": "xyz789"}
ForeignIdReferenceInput
Description
Foreign ID with foreign system information
Fields
Input Field | Description |
---|---|
foreignId -
String!
|
Foreign ID |
foreignSystem -
ForeignSystem
|
Please use |
system -
String
|
The name of the system where the foreign ID is used |
Example
{
"foreignId": "xyz789",
"foreignSystem": "KITA_PLANER",
"system": "abc123"
}
ForeignSystem
Description
Specify the system the foreign ID belongs to. Deprecated
Values
Enum Value | Description |
---|---|
|
|
|
Example
"KITA_PLANER"
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!
|
|
staffRatio -
Float
|
|
ordering -
Int
|
|
profileImage -
ProfileImage
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "xyz789",
"description": "xyz789",
"institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"staffRatio": 123.45,
"ordering": 123,
"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": "xyz789"
}
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": "2020-07-19",
"time": "08:45:59"
}
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 or InstitutionId |
Arguments
|
Example
{"list": [Group]}
GroupUpdate
HMAC
Description
A HMAC used to secure a request
Example
HMAC
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 |
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"inquiryId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"type": "OTHER",
"lastUpdatedAt": ZonedDateTime,
"note": "xyz789",
"subject": "xyz789"
}
InquiryActionId
Description
A string containing a 36-character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InquiryActionType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"OTHER"
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": "2020-07-19",
"gender": "FEMALE",
"startDate": "2020-07-19",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"referenceNumber": ForeignIdReferenceInput,
"contacts": [ChildInquiryContact],
"note": "xyz789"
}
InstitutionId
Description
A string containing a 36 character UUID
Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
InstitutionPosition
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": "xyz789",
"privacyPolicyLink": "abc123"
}
Invoice
Fields
Field Name | Description |
---|---|
invoiceId -
InvoiceId!
|
|
title -
String
|
|
total -
BadMoney!
|
|
invoiceDate -
LocalDate!
|
|
dueDate -
LocalDate!
|
|
billPayerId -
BillPayerId!
|
|
lines -
[InvoiceLines!]!
|
|
pdfResult -
InvoicePdfResultType
|
|
invoiceNumber -
String!
|
Example
{
"invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"title": "xyz789",
"total": BadMoney,
"invoiceDate": "2020-07-19",
"dueDate": "2020-07-19",
"billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"lines": [InvoiceLines],
"pdfResult": InvoicePdfSuccessType,
"invoiceNumber": "xyz789"
}
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": 987,
"invoiceDate": "2020-07-19",
"dueDate": "2020-07-19",
"note": "xyz789",
"lines": [InvoiceLinesInput],
"pdf": FileUploadInput
}
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 |
Example
{
"type": "abc123",
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"info": "abc123",
"amount": BadMoney,
"account": AccountType
}
InvoiceLinesInput
Description
Input for creating invoice lines. Currently supports only creation of custom lines.
Example
{
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"info": "xyz789",
"amount": BadMoney
}
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": ["xyz789"]}
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": false}
InvoiceQueries
Description
For querying invoice data
Fields
Field Name | Description |
---|---|
listBySiteIds -
InvoiceListingResult!
|
A paginated list of invoices. |
Arguments
|
Example
{"listBySiteIds": InvoiceListingResult}
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": "xyz789",
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"tags": [ReferenceTag]
}
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 leaves for children and employees
Fields
Field Name | Description |
---|---|
employees -
EmployeeLeaveMutations!
|
For mutating employee leaves |
Example
{"employees": EmployeeLeaveMutations}
LeavesQueries
Description
For querying leaves for children and employees
Fields
Field Name | Description |
---|---|
employees -
EmployeeLeaveQueries!
|
For querying employee leaves |
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
"2020-07-19"
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.420Z"
LocalTime
Description
A string containing a local time in ISO format, i.e. HH:MM:SS. Example: 10:15:36.
Example
"08:45:59"
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": "xyz789",
"updatedBy": "abc123",
"updatedAt": ZonedDateTime
}
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 |
Example
{
"siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"mealPlanId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"date": "2020-07-19",
"meals": [MealTypeItems]
}
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
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": "2020-07-19",
"to": "2020-07-19"
}
OpenShiftsPublicType
Fields
Field Name | Description |
---|---|
date -
LocalDate!
|
|
shifts -
[ShiftPublicType!]!
|
Example
{
"date": "2020-07-19",
"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!
|
|
paymentDate -
LocalDate!
|
|
billPayer -
BillPayerSummary!
|
|
currency -
String!
|
|
viaFamlyPay -
Boolean!
|
|
isDeposited -
Boolean!
|
|
depositDate -
LocalDate
|
|
depositId -
String
|
|
invoices -
[PaymentInvoiceRelation!]!
|
|
externalSystem -
PaymentExternalSystem
|
Example
{
"id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"amount": BadMoney,
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"paymentMethod": "GovernmentGrant",
"note": "abc123",
"paymentDate": "2020-07-19",
"billPayer": BillPayerSummary,
"currency": "xyz789",
"viaFamlyPay": true,
"isDeposited": false,
"depositDate": "2020-07-19",
"depositId": "abc123",
"invoices": [PaymentInvoiceRelation],
"externalSystem": PaymentExternalSystem
}
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": "abc123"
}
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 |
Example
{
"id": "abc123",
"system": "XERO",
"name": "xyz789"
}
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 -
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. |
Example
{
"billPayer": BillPayerReferenceInput,
"externalId": "xyz789",
"externalSystem": PaymentExternalSystemInput,
"externalBillPayerReferences": [
PaymentExternalSystemInput
],
"amount": BadMoney,
"childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"paymentMethod": "GovernmentGrant",
"note": "xyz789",
"paymentDate": "2020-07-19"
}
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"
}
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. |
Example
{
"paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
"amount": BadMoney,
"paymentMethod": "GovernmentGrant",
"note": "abc123",
"paymentDate": "2020-07-19"
}
Person
Fields
Field Name | Description |
---|---|
name -
Name!
|
|
profileImage -
ProfileImage
|
Example
{
"name": Name,
"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"
ProfileImage
PublicMealType
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": true,
"source": "ORGANIZATION_PERSON",
"target": "ORGANIZATION",
"siteSetIds": [
"0c83793f-2ce6-458e-8d08-78d3910bdccb"
],
"createdAt": ZonedDateTime
}
RoleAssignee
Description
A login assigned to a specific role
Fields
Field Name |
---|