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.

Organization View Site View

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.

Creating a New Token

New Token Created

API Endpoints
# Production API:
https://famlyapi.famly.co/v1/graphql
Headers
# Your API token from the dashboard. Must be included in all API calls.
X-Famly-Accesstoken: <YOUR_TOKEN_HERE>
Version

1.0.0

Exploring the Public API

GraphiQL

We host GraphiQL, which you can use to experiment with queries. Note that you won't be able to run most queries without authenticating. You can click "Docs" in the upper left corner to see relevant documentation.

On the left side in GraphiQL you will see examples of queries and mutations in the top, and the variables and arguments in the bottom. These are helpful for inspiration and to get quickly started using the API.

Voyager

We also host Voyager, which gives you are move visual overview of how the API is built.

Voyager allows you to explore the whole API graph.

Examples

To get you started quickly, we've included some examples of making query requests and handling pagination. If you are using a different language, check out GraphQL's official overview of frameworks.

TypeScript Example

We'll use the library graphql-request to make requests to the API. Install it or add it as a dependency to your project via npm add graphql-request graphql.


import { GraphQLClient, gql } from "graphql-request";
            
            const main = async () => {
              // Construct the query we will use to call the API.
              const query = gql`
                query ListInvoiceBySiteIds($siteIds: [SiteId!]!) {
                  invoices {
                    listBySiteIds(siteIds: $siteIds) {
                      result {
                        invoiceDate
                        invoiceId
                      }
                      # If this token is not empty, use this as an argument to fetch the next set of invoices.
                      next
                    }
                  }
                }
              `;
              // Pass the variables that we've set up in the query above (everthing with a $ in front of it).
              const variables = {
                siteIds: ["ac81821f-8a20-46b1-ab97-c9b41c24ef8d"],
              };
            
              // Set up a GraphQL client with the API token added to the header.
              const client = new GraphQLClient("https://famlyapi.famly.co/v1/graphql", {
                headers: {
                  // This will grab the access token from your environment variables, assuming it is
                  // accessible from FAMLY_ACCESS_TOKEN.
                  "X-Famly-Accesstoken": process.env.FAMLY_ACCESS_TOKEN,
                },
              });
            
              // Get the data from the API and handle pagination if needed.
              const results = [];
              while (variables.nextToken !== null) {
                // Make the request and ddd the invoices from the current request to the results
                // array in the outer scope.
                const data = await client.request(query, variables);
                results.push(...data.invoices.listBySiteIds.result);
            
                // Store the next token in the variables for the next request.
                variables.nextToken = data.invoices.listBySiteIds.next;
              }
            
              // Output the data to the terminal/console to see what the response was.
              console.log(JSON.stringify(results, undefined, 2));
            };
            
            main().catch((error) => console.error(error));
            

Queries

accidentReports

Description

For querying accident reports

Response

Returns an AccidentReportQueries!

Example

Query
query AccidentReports {
  accidentReports {
    listBySiteIds {
      result {
        reportId
        site {
          siteId
          title
          address {
            street
            zip
            city
            state
            country
          }
          contactPerson {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          phone {
            value
            phoneType
            formatted
          }
          socialMedia {
            facebook
            instagram
            twitter
          }
          description
          openingHours {
            monday {
              from
              to
            }
            tuesday {
              from
              to
            }
            wednesday {
              from
              to
            }
            thursday {
              from
              to
            }
            friday {
              from
              to
            }
            saturday {
              from
              to
            }
            sunday {
              from
              to
            }
          }
          position {
            latitude
            longitude
          }
          externalSystemsReferences {
            foreignId
            system
          }
        }
        child {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          gender
          birthday
          currentGroup {
            id
            title
            description
            institutionId
            site {
              institutionSetId
              title
              profileImage {
                url
              }
              siteType
            }
            staffRatio
            ordering
            profileImage {
              url
            }
          }
          profileImage {
            url
          }
          records {
            key
            value
          }
          sensitiveRecords {
            key
            value
          }
          sitesRelation {
            firstDay
            lastDay
            site {
              siteId
              title
              address {
                street
                zip
                city
                state
                country
              }
              contactPerson {
                firstName
                middleName
                lastName
                fullName
                shortName
              }
              email
              phone {
                value
                phoneType
                formatted
              }
              socialMedia {
                facebook
                instagram
                twitter
              }
              description
              openingHours {
                monday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                tuesday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                wednesday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                thursday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                friday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                saturday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                sunday {
                  ...TimeRangeClosedLocalTimeFragment
                }
              }
              position {
                latitude
                longitude
              }
              externalSystemsReferences {
                foreignId
                system
              }
            }
          }
          contacts {
            id
            name {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            address {
              street
              zip
              city
              state
              country
            }
            phoneNumbers {
              value
              phoneType
              formatted
            }
            childIds
            profileImage {
              url
            }
            roles {
              role {
                roleId
                title
                locked
                source
                target
                siteSetIds
                createdAt
              }
              targetId
            }
            roleInvitations {
              roleInvitationId
              roleTitle
              roleId
              verification {
                verificationMethod
              }
              siteTitle
              privacyPolicyLink
            }
            emergencyContact
            lastModifiedAt
            records {
              key
              value
            }
          }
          reasonForLeaving {
            id
            name
          }
          additionalLeavingInformation
          lastModifiedAt
          primaryHomeLanguage {
            code
            name
          }
          externalId
          diagnosedConditions {
            cognitive
            physical
            psychological
            sensory
          }
        }
        createdAt
        createdBy {
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          id
          profileImage {
            url
          }
        }
        kind
        description
        firstAid
        date
        time
        location
        parentsNotified
        note
        witness {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          siteId
          profileImage {
            url
          }
        }
        staffPresent {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          siteId
          profileImage {
            url
          }
        }
        acknowledgedAt
        acknowledgedBy {
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          id
          profileImage {
            url
          }
        }
        files {
          id
          url
          name
        }
        images {
          id
          secret {
            prefix
            key
            path
            expires
            crop
          }
          width
          height
          url
        }
        lado
        ofsted
        riddor
        onArrival
        status
        sentAt
      }
      next
    }
  }
}
Response
{
  "data": {
    "accidentReports": {
      "listBySiteIds": AccidentReportsResult
    }
  }
}

accounts

Description

For querying account codes

Response

Returns an AccountQueries!

Example

Query
query Accounts {
  accounts {
    listBySiteIds {
      accountId
      title
      reference
    }
  }
}
Response
{"data": {"accounts": {"listBySiteIds": [AccountType]}}}

bankhours

Response

Returns a BankHoursPublicQueries!

Example

Query
query Bankhours {
  bankhours {
    byEmployee {
      current {
        minutes
        validFrom
        employeeId
      }
    }
  }
}
Response
{
  "data": {
    "bankhours": {"byEmployee": BankHoursPublicResult}
  }
}

billPayers

Description

For querying bill payer data

Response

Returns a BillPayerQueries!

Example

Query
query BillPayers {
  billPayers {
    listBySiteIds {
      result {
        billPayerId
        siteId
        name
        phone
        address {
          street
          zip
          city
          state
          country
        }
        email
        accountNumber
        sortCode
        accountDetails {
          accountName
          accountNumber
          sortCode
          iban
          bic
        }
        note
        children {
          childId
          share {
            multiplier
          }
        }
        invoiceRecipients {
          relationId
          contactId
          billPayerId
          name
          email
        }
        externalId
        categories {
          id
          name
          siteSetId
        }
        tags {
          id
          name
          siteSetId
        }
        availablePaymentsSources {
          type
          active
          status
          title
        }
        balance
        socialSecurityNumber
        billingReference
      }
      next
    }
  }
}
Response
{
  "data": {
    "billPayers": {
      "listBySiteIds": BillPayerListingResult
    }
  }
}

checkins

Description

For querying checkins for children and employees

Response

Returns a CheckinQueries!

Example

Query
query Checkins {
  checkins {
    children {
      list {
        result {
          id
          childId
          siteId
          groupId
          checkinTime
          pickupTime
          checkoutTime
        }
        next
      }
    }
    employees {
      list {
        result {
          id
          employeeId
          siteId
          groupId
          checkinTime
          estimatedCheckoutTime
          checkoutTime
          workTag {
            tagId
            siteId
            name
            color
            code
          }
          managerNote {
            note
            updatedBy
            updatedAt
          }
        }
        next
      }
    }
  }
}
Response
{
  "data": {
    "checkins": {
      "children": ChildCheckinQueries,
      "employees": EmployeeCheckinQueries
    }
  }
}

children

Description

For querying children

Response

Returns a ChildrenQueries!

Example

Query
query Children {
  children {
    listBySiteIds {
      result {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      next
    }
    listByChildIds {
      result {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      next
    }
    list {
      result {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      next
    }
  }
}
Response
{
  "data": {
    "children": {
      "listBySiteIds": ChildrenListResult,
      "listByChildIds": ChildrenListResult,
      "list": ChildrenListResult
    }
  }
}

contacts

Description

For querying contacts

Response

Returns a ContactQueries!

Example

Query
query Contacts {
  contacts {
    list {
      result {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        email
        address {
          street
          zip
          city
          state
          country
        }
        phoneNumbers {
          value
          phoneType
          formatted
        }
        childIds
        profileImage {
          url
        }
        roles {
          role {
            roleId
            title
            locked
            source
            target
            siteSetIds
            createdAt
          }
          targetId
        }
        roleInvitations {
          roleInvitationId
          roleTitle
          roleId
          verification {
            verificationMethod
          }
          siteTitle
          privacyPolicyLink
        }
        emergencyContact
        lastModifiedAt
        records {
          key
          value
        }
      }
      next
    }
  }
}
Response
{"data": {"contacts": {"list": ContactListResult}}}

contractedhours

Response

Returns a ContractedHoursPublicQueries!

Example

Query
query Contractedhours {
  contractedhours {
    byEmployee {
      current {
        hours
        minutes
        validFrom
        validTo
      }
      scheduled {
        hours
        minutes
        date
      }
    }
  }
}
Response
{
  "data": {
    "contractedhours": {
      "byEmployee": ContractedHoursPublicResult
    }
  }
}

customRegistrationForms

Response

Returns a CustomRegistrationForms!

Example

Query
query CustomRegistrationForms {
  customRegistrationForms {
    listFormsBySiteSetId {
      results {
        formId
        formName
        formType
        isPublished
        isShared
        lastEditedAt
        numberOfSitesSharedWith
        siteIds
        numberOfResponses
      }
      next
    }
  }
}
Response
{
  "data": {
    "customRegistrationForms": {
      "listFormsBySiteSetId": CustomRegistrationFormsListResult
    }
  }
}

employees

Description

For querying employees

Response

Returns an EmployeeQueries!

Example

Query
query Employees {
  employees {
    list {
      employees {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        siteId
        groupId
        group {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        email
        title
        birthDate
        gender
        phoneNumber {
          value
          phoneType
          formatted
        }
        address {
          street
          zip
          city
          state
          country
        }
        firstDay
        lastDay
        roleId
        role {
          employeeId
          person {
            name {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            id
            profileImage {
              url
            }
          }
          institutionSetId
          roleId
        }
        customEmployeeId
        employeeWorkDayHours
        employeeWorkDayMin
        holidayAllowance
        loginId
        lastModifiedAt
      }
      next
    }
  }
}
Response
{"data": {"employees": {"list": EmployeesResult}}}

formResponses

Description

Publicly available paginated list of form responses for a specific form within a site. Optionally filter by submission date range using startDate and endDate parameters. (The default page size is set to 25.)

Response

Returns a FormResponses!

Arguments
Name Description
formId - CustomRegistrationFormId!
siteSetId - SiteSetId!
startDate - LocalDate
endDate - LocalDate
pageSize - Int Default = 25
next - FormResponseCursor

Example

Query
query FormResponses(
  $formId: CustomRegistrationFormId!,
  $siteSetId: SiteSetId!,
  $startDate: LocalDate,
  $endDate: LocalDate,
  $pageSize: Int,
  $next: FormResponseCursor
) {
  formResponses(
    formId: $formId,
    siteSetId: $siteSetId,
    startDate: $startDate,
    endDate: $endDate,
    pageSize: $pageSize,
    next: $next
  ) {
    responses {
      responseId
      siteName
      formName
      submissionDate
      formVersion
      sections {
        sectionId
        sectionName
        fields {
          fieldId
          fieldName
          fieldType
          value
        }
      }
    }
    next
  }
}
Variables
{
  "formId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "startDate": "2022-10-07",
  "endDate": "2022-10-07",
  "pageSize": 25,
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}
Response
{
  "data": {
    "formResponses": {
      "responses": [FormResponse],
      "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
    }
  }
}

groups

Description

For querying groups

Response

Returns a GroupQueries!

Example

Query
query Groups {
  groups {
    list {
      id
      title
      description
      institutionId
      site {
        institutionSetId
        title
        profileImage {
          url
        }
        siteType
      }
      staffRatio
      ordering
      profileImage {
        url
      }
    }
  }
}
Response
{"data": {"groups": {"list": [Group]}}}

inquiries

Description

For querying inquiries for children

Response

Returns a ChildInquiryQueries!

Example

Query
query Inquiries {
  inquiries {
    listBySiteIds {
      siteId
      siteName
      createdAt
      lastModifiedAt
      id
      status
      childId
      child {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      source
      bookingSource
      reason
      lostCategory
      lostReason
      actions {
        id
        inquiryId
        type
        lastUpdatedAt
        note
        subject
        createdAt
        due
      }
      note
      group {
        id
        siteId
        siteName
        title
        description
        profileImage {
          url
        }
      }
      enrolledAt
      enrolledBy
    }
    listBySiteIdsPaginated {
      results {
        siteId
        siteName
        createdAt
        lastModifiedAt
        id
        status
        childId
        child {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          gender
          birthday
          currentGroup {
            id
            title
            description
            institutionId
            site {
              institutionSetId
              title
              profileImage {
                url
              }
              siteType
            }
            staffRatio
            ordering
            profileImage {
              url
            }
          }
          profileImage {
            url
          }
          records {
            key
            value
          }
          sensitiveRecords {
            key
            value
          }
          sitesRelation {
            firstDay
            lastDay
            site {
              siteId
              title
              address {
                street
                zip
                city
                state
                country
              }
              contactPerson {
                firstName
                middleName
                lastName
                fullName
                shortName
              }
              email
              phone {
                value
                phoneType
                formatted
              }
              socialMedia {
                facebook
                instagram
                twitter
              }
              description
              openingHours {
                monday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                tuesday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                wednesday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                thursday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                friday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                saturday {
                  ...TimeRangeClosedLocalTimeFragment
                }
                sunday {
                  ...TimeRangeClosedLocalTimeFragment
                }
              }
              position {
                latitude
                longitude
              }
              externalSystemsReferences {
                foreignId
                system
              }
            }
          }
          contacts {
            id
            name {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            address {
              street
              zip
              city
              state
              country
            }
            phoneNumbers {
              value
              phoneType
              formatted
            }
            childIds
            profileImage {
              url
            }
            roles {
              role {
                roleId
                title
                locked
                source
                target
                siteSetIds
                createdAt
              }
              targetId
            }
            roleInvitations {
              roleInvitationId
              roleTitle
              roleId
              verification {
                verificationMethod
              }
              siteTitle
              privacyPolicyLink
            }
            emergencyContact
            lastModifiedAt
            records {
              key
              value
            }
          }
          reasonForLeaving {
            id
            name
          }
          additionalLeavingInformation
          lastModifiedAt
          primaryHomeLanguage {
            code
            name
          }
          externalId
          diagnosedConditions {
            cognitive
            physical
            psychological
            sensory
          }
        }
        source
        bookingSource
        reason
        lostCategory
        lostReason
        actions {
          id
          inquiryId
          type
          lastUpdatedAt
          note
          subject
          createdAt
          due
        }
        note
        group {
          id
          siteId
          siteName
          title
          description
          profileImage {
            url
          }
        }
        enrolledAt
        enrolledBy
      }
      next
    }
  }
}
Response
{
  "data": {
    "inquiries": {
      "listBySiteIds": [ChildInquiry],
      "listBySiteIdsPaginated": InquiriesPaginatedResult
    }
  }
}

invoices

Description

For querying invoice data

Response

Returns an InvoiceQueries!

Example

Query
query Invoices {
  invoices {
    listBySiteIds {
      result {
        invoiceId
        title
        total
        invoiceDate
        dueDate
        billPayerId
        lines {
          type
          childId
          info
          amount
          account {
            accountId
            title
            reference
          }
          period {
            from
            to
          }
        }
        items {
          type
          title
          childId
          amount
          subtotal
          total
          account {
            accountId
            title
            reference
          }
          period {
            from
            to
          }
          sessionId
          productId
        }
        pdfResult {
          ... on InvoicePdfSuccessType {
            succeeded
          }
          ... on InvoicePdfFailedType {
            errors
          }
        }
        invoiceNumber
        creditStatus {
          ... on InvoiceStatusIsCreditNote {
            credits
          }
          ... on InvoiceStatusIsCredited {
            creditedBy
          }
        }
      }
      next
    }
    listByInvoiceIds {
      invoiceId
      title
      total
      invoiceDate
      dueDate
      billPayerId
      lines {
        type
        childId
        info
        amount
        account {
          accountId
          title
          reference
        }
        period {
          from
          to
        }
      }
      items {
        type
        title
        childId
        amount
        subtotal
        total
        account {
          accountId
          title
          reference
        }
        period {
          from
          to
        }
        sessionId
        productId
      }
      pdfResult {
        ... on InvoicePdfSuccessType {
          succeeded
        }
        ... on InvoicePdfFailedType {
          errors
        }
      }
      invoiceNumber
      creditStatus {
        ... on InvoiceStatusIsCreditNote {
          credits
        }
        ... on InvoiceStatusIsCredited {
          creditedBy
        }
      }
    }
  }
}
Response
{
  "data": {
    "invoices": {
      "listBySiteIds": InvoiceListingResult,
      "listByInvoiceIds": [Invoice]
    }
  }
}

leaveBalances

Description

For querying leave balances

Response

Returns a LeaveBalancesQueries!

Example

Query
query LeaveBalances {
  leaveBalances {
    balanceOverridesByEmployee {
      employeeId
      leaveType
      balance
    }
    balanceOverrideByEmployeeAndLeaveType {
      employeeId
      leaveType
      balance
    }
  }
}
Response
{
  "data": {
    "leaveBalances": {
      "balanceOverridesByEmployee": [StaffLeaveBalance],
      "balanceOverrideByEmployeeAndLeaveType": StaffLeaveBalance
    }
  }
}

leaves

Description

For querying absences for children and employees

Response

Returns a LeavesQueries!

Example

Query
query Leaves {
  leaves {
    employees {
      listBySiteIds {
        result {
          leaveId
          employeeId
          siteId
          date
          leaveType
          leaveSubTypeName
          leaveSubTypeCode
          reason
          startTime
          endTime
          hours
          minutes
          deletedAt
        }
        next
      }
    }
    children {
      listBySiteIds {
        result {
          leaveId
          childId
          siteId
          vacationId
          date
          leaveType
          reason
        }
        next
      }
      availableIllnesses {
        name
        label
      }
      availableIllnessesForChild {
        name
        label
      }
      isIllnessRequiredForChild
    }
  }
}
Response
{
  "data": {
    "leaves": {
      "employees": EmployeeLeaveQueries,
      "children": ChildLeavesQueries
    }
  }
}

meals

Description

For querying meals

Response

Returns a MealQueries!

Example

Query
query Meals {
  meals {
    planned {
      list {
        next
        result {
          siteId
          mealPlanId
          date
          meals {
            mealType {
              title
              order
            }
            mealItems {
              title
            }
          }
          images {
            id
            secret {
              prefix
              key
              path
              expires
              crop
            }
            width
            height
            url
          }
          files {
            id
            url
            name
          }
        }
      }
    }
  }
}
Response
{"data": {"meals": {"planned": MealPlanQueries}}}

payments

Description

For querying payment data

Response

Returns a PaymentQueries!

Example

Query
query Payments {
  payments {
    listBySiteIds {
      result {
        id
        amount
        childId
        paymentMethod
        note
        refundReason
        paymentDate
        createdAt
        deletedAt
        transactionStatus
        billPayer {
          billPayerId
          siteId
          name
          email
          accountNumber
          sortCode
          note
        }
        currency
        viaFamlyPay
        inAppPayment {
          paymentId
        }
        isDeposited
        depositDate
        depositId
        invoices {
          invoiceId
        }
        externalSystem {
          id
          system
          name
          externalType
        }
        metadata {
          key
          value
        }
      }
      next
    }
  }
}
Response
{
  "data": {
    "payments": {"listBySiteIds": PaymentListingResult}
  }
}

roles

Response

Returns a Roles!

Example

Query
query Roles {
  roles {
    list {
      next
      roles {
        roleId
        title
        locked
        source
        target
        siteSetIds
        createdAt
      }
    }
  }
}
Response
{"data": {"roles": {"list": ListRolesResult}}}

shiftplanner

Response

Returns a ShiftPlannerPublicQueries!

Example

Query
query Shiftplanner {
  shiftplanner {
    byGroups {
      result {
        groups {
          groupId
          title
          openShifts {
            date
            shifts {
              shiftId
              date
              startTime
              endTime
              breakMinutes
              state
              location
              assignedTo
              workTag {
                tagId
                name
                color
                code
              }
              note {
                note
                updatedBy
                updatedAt
              }
            }
          }
          employees {
            employee {
              id
              name {
                firstName
                middleName
                lastName
                fullName
                shortName
              }
              siteId
              groupId
              group {
                id
                title
                description
                institutionId
                site {
                  ...InstitutionSetFragment
                }
                staffRatio
                ordering
                profileImage {
                  ...ProfileImageFragment
                }
              }
              profileImage {
                url
              }
              email
              title
              birthDate
              gender
              phoneNumber {
                value
                phoneType
                formatted
              }
              address {
                street
                zip
                city
                state
                country
              }
              firstDay
              lastDay
              roleId
              role {
                employeeId
                person {
                  ...PersonFragment
                }
                institutionSetId
                roleId
              }
              customEmployeeId
              employeeWorkDayHours
              employeeWorkDayMin
              holidayAllowance
              loginId
              lastModifiedAt
            }
            scheduledMinutes
            assignedShifts {
              date
              scheduledMinutesOnDay
              shifts {
                shiftId
                date
                startTime
                endTime
                breakMinutes
                state
                location
                assignedTo
                workTag {
                  ...WorkTagPublicAPIResultResultTypeFragment
                }
                note {
                  ...ManagerNoteTypeFragment
                }
              }
            }
          }
        }
      }
      next
    }
    byStaff {
      result {
        openShifts {
          date
          shifts {
            shiftId
            date
            startTime
            endTime
            breakMinutes
            state
            location
            assignedTo
            workTag {
              tagId
              name
              color
              code
            }
            note {
              note
              updatedBy
              updatedAt
            }
          }
        }
        employees {
          employee {
            id
            name {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            siteId
            groupId
            group {
              id
              title
              description
              institutionId
              site {
                institutionSetId
                title
                profileImage {
                  ...ProfileImageFragment
                }
                siteType
              }
              staffRatio
              ordering
              profileImage {
                url
              }
            }
            profileImage {
              url
            }
            email
            title
            birthDate
            gender
            phoneNumber {
              value
              phoneType
              formatted
            }
            address {
              street
              zip
              city
              state
              country
            }
            firstDay
            lastDay
            roleId
            role {
              employeeId
              person {
                name {
                  ...NameFragment
                }
                id
                profileImage {
                  ...ProfileImageFragment
                }
              }
              institutionSetId
              roleId
            }
            customEmployeeId
            employeeWorkDayHours
            employeeWorkDayMin
            holidayAllowance
            loginId
            lastModifiedAt
          }
          scheduledMinutes
          assignedShifts {
            date
            scheduledMinutesOnDay
            shifts {
              shiftId
              date
              startTime
              endTime
              breakMinutes
              state
              location
              assignedTo
              workTag {
                tagId
                name
                color
                code
              }
              note {
                note
                updatedBy
                updatedAt
              }
            }
          }
        }
      }
      next
    }
  }
}
Response
{
  "data": {
    "shiftplanner": {
      "byGroups": ShiftPlannerByGroupsPublicResult,
      "byStaff": ShiftPlannerByStaffPublicResult
    }
  }
}

sites

Description

For querying sites

Response

Returns a SiteQueries!

Example

Query
query Sites {
  sites {
    list {
      next
      result {
        siteId
        title
        address {
          street
          zip
          city
          state
          country
        }
        contactPerson {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        email
        phone {
          value
          phoneType
          formatted
        }
        socialMedia {
          facebook
          instagram
          twitter
        }
        description
        openingHours {
          monday {
            from
            to
          }
          tuesday {
            from
            to
          }
          wednesday {
            from
            to
          }
          thursday {
            from
            to
          }
          friday {
            from
            to
          }
          saturday {
            from
            to
          }
          sunday {
            from
            to
          }
        }
        position {
          latitude
          longitude
        }
        externalSystemsReferences {
          foreignId
          system
        }
      }
    }
  }
}
Response
{"data": {"sites": {"list": SiteResult}}}

staffAbsenceSettings

Description

For querying staff absence settings

Response

Returns a StaffLeaveSettingQueries!

Example

Query
query StaffAbsenceSettings {
  staffAbsenceSettings {
    staffAbsenceSubtypes {
      list {
        id
        leaveType
        name
        code
        paid
      }
    }
    staffAbsenceSettingResult {
      siteSetId
      employeeAbsenceDayHours
      absenceRange
      holidayApprovalRequired
      absentApprovalRequired
      childSickApprovalRequired
      sickApprovalRequired
      holidayIsPaid
      absentIsPaid
      childSickIsPaid
      sickIsPaid
      holidayEntitlementMinutes
      subTypeIsRequired
      subTypeIsRestricted
    }
  }
}
Response
{
  "data": {
    "staffAbsenceSettings": {
      "staffAbsenceSubtypes": StaffAbsenceSubTypesPublicQueries,
      "staffAbsenceSettingResult": staffAbsenceSettingsPublicType
    }
  }
}

staffhourstotals

Example

Query
query Staffhourstotals {
  staffhourstotals {
    byStaff {
      dateRange {
        from
        to
      }
      byStaff {
        employee {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          siteId
          groupId
          group {
            id
            title
            description
            institutionId
            site {
              institutionSetId
              title
              profileImage {
                url
              }
              siteType
            }
            staffRatio
            ordering
            profileImage {
              url
            }
          }
          profileImage {
            url
          }
          email
          title
          birthDate
          gender
          phoneNumber {
            value
            phoneType
            formatted
          }
          address {
            street
            zip
            city
            state
            country
          }
          firstDay
          lastDay
          roleId
          role {
            employeeId
            person {
              name {
                firstName
                middleName
                lastName
                fullName
                shortName
              }
              id
              profileImage {
                url
              }
            }
            institutionSetId
            roleId
          }
          customEmployeeId
          employeeWorkDayHours
          employeeWorkDayMin
          holidayAllowance
          loginId
          lastModifiedAt
        }
        bankHours {
          minutes
          validFrom
          employeeId
        }
        totals {
          contractedMinutes
          attendedMinutes
          scheduledMinutes
          breakMinutes
          isSignOutMissing
          leaveMinutes {
            paid
            sick
            childSick
            holiday
            absent
          }
          periodTotal
          contractedDifference
          scheduleDifference
        }
      }
      next
    }
  }
}
Response
{
  "data": {
    "staffhourstotals": {
      "byStaff": StaffHoursTotalsResult
    }
  }
}

workTags

Response

Returns a WorkTagPublicAPIQueriesType!

Example

Query
query WorkTags {
  workTags {
    bySiteSetId {
      tagId
      name
      color
      code
    }
  }
}
Response
{
  "data": {
    "workTags": {
      "bySiteSetId": [WorkTagPublicAPIResultResultType]
    }
  }
}

workavailability

Response

Returns a WorkAvailabilityPublicQueries!

Example

Query
query Workavailability {
  workavailability {
    byEmployee {
      employeeId
      current {
        monday {
          from
          to
        }
        tuesday {
          from
          to
        }
        wednesday {
          from
          to
        }
        thursday {
          from
          to
        }
        friday {
          from
          to
        }
        saturday {
          from
          to
        }
        sunday {
          from
          to
        }
        validFrom
        validTo
      }
    }
    byEmployees {
      employeeId
      current {
        monday {
          from
          to
        }
        tuesday {
          from
          to
        }
        wednesday {
          from
          to
        }
        thursday {
          from
          to
        }
        friday {
          from
          to
        }
        saturday {
          from
          to
        }
        sunday {
          from
          to
        }
        validFrom
        validTo
      }
    }
    bySite {
      employeeId
      current {
        monday {
          from
          to
        }
        tuesday {
          from
          to
        }
        wednesday {
          from
          to
        }
        thursday {
          from
          to
        }
        friday {
          from
          to
        }
        saturday {
          from
          to
        }
        sunday {
          from
          to
        }
        validFrom
        validTo
      }
    }
    default {
      monday {
        from
        to
      }
      tuesday {
        from
        to
      }
      wednesday {
        from
        to
      }
      thursday {
        from
        to
      }
      friday {
        from
        to
      }
      saturday {
        from
        to
      }
      sunday {
        from
        to
      }
      validFrom
      validTo
    }
  }
}
Response
{
  "data": {
    "workavailability": {
      "byEmployee": WorkAvailabilityPublicResult,
      "byEmployees": [WorkAvailabilityPublicResult],
      "bySite": [WorkAvailabilityPublicResult],
      "default": WorkAvailabilityPublic
    }
  }
}

Mutations

bankhours

Response

Returns a BankHoursPublicMutations!

Example

Query
mutation Bankhours {
  bankhours {
    save {
      current {
        minutes
        validFrom
        employeeId
      }
    }
  }
}
Response
{"data": {"bankhours": {"save": BankHoursPublicResult}}}

billPayers

Description

For managing bill payers

Response

Returns a BillPayerMutations!

Example

Query
mutation BillPayers {
  billPayers {
    create {
      billPayerId
      siteId
      name
      phone
      address {
        street
        zip
        city
        state
        country
      }
      email
      accountNumber
      sortCode
      accountDetails {
        accountName
        accountNumber
        sortCode
        iban
        bic
      }
      note
      children {
        childId
        share {
          multiplier
        }
      }
      invoiceRecipients {
        relationId
        contactId
        billPayerId
        name
        email
      }
      externalId
      categories {
        id
        name
        siteSetId
      }
      tags {
        id
        name
        siteSetId
      }
      availablePaymentsSources {
        type
        active
        status
        title
      }
      balance
      socialSecurityNumber
      billingReference
    }
    update {
      billPayerId
      siteId
      name
      phone
      address {
        street
        zip
        city
        state
        country
      }
      email
      accountNumber
      sortCode
      accountDetails {
        accountName
        accountNumber
        sortCode
        iban
        bic
      }
      note
      categories {
        id
        name
        siteSetId
      }
      tags {
        id
        name
        siteSetId
      }
      availablePaymentsSources {
        type
        active
        status
        title
      }
    }
    delete
    moveInvoicesAndPayments {
      invoices {
        invoiceId
      }
      payments {
        paymentId
      }
    }
    addChildren {
      billPayerId
      childId
      share {
        multiplier
      }
    }
    deleteChildren {
      billPayerId
      childId
      share {
        multiplier
      }
    }
    addInvoiceRecipients {
      relationId
      contactId
      billPayerId
      name
      email
    }
    deleteInvoiceRecipients {
      billPayerId
      relationId
    }
  }
}
Response
{
  "data": {
    "billPayers": {
      "create": [BillPayer],
      "update": [BillPayerUpdate],
      "delete": [
        "0c83793f-2ce6-458e-8d08-78d3910bdccb"
      ],
      "moveInvoicesAndPayments": MovedInvoicesAndPayments,
      "addChildren": [BillPayerChildShareType],
      "deleteChildren": [BillPayerChildShareType],
      "addInvoiceRecipients": [InvoiceRecipient],
      "deleteInvoiceRecipients": [
        InvoiceRecipientDeleteResult
      ]
    }
  }
}

checkins

Description

For editing employee checkin/attendance data

Response

Returns a CheckinMutations!

Example

Query
mutation Checkins {
  checkins {
    employees {
      createAttendance {
        id
        employeeId
        siteId
        groupId
        checkinTime
        checkoutTime
        workTag {
          tagId
          siteId
          name
          color
          code
        }
        managerNote {
          note
          updatedBy
          updatedAt
        }
      }
      updateAttendance {
        id
        employeeId
        siteId
        groupId
        checkinTime
        checkoutTime
        workTag {
          tagId
          siteId
          name
          color
          code
        }
        managerNote {
          note
          updatedBy
          updatedAt
        }
      }
      deleteAttendance
    }
  }
}
Response
{
  "data": {
    "checkins": {"employees": EmployeeCheckinMutations}
  }
}

children

Description

For creating and updating children

Response

Returns a ChildrenMutation!

Example

Query
mutation Children {
  children {
    create {
      id
      name {
        firstName
        middleName
        lastName
        fullName
        shortName
      }
      gender
      birthday
      currentGroup {
        id
        title
        description
        institutionId
        site {
          institutionSetId
          title
          profileImage {
            url
          }
          siteType
        }
        staffRatio
        ordering
        profileImage {
          url
        }
      }
      profileImage {
        url
      }
      records {
        key
        value
      }
      sensitiveRecords {
        key
        value
      }
      sitesRelation {
        firstDay
        lastDay
        site {
          siteId
          title
          address {
            street
            zip
            city
            state
            country
          }
          contactPerson {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          phone {
            value
            phoneType
            formatted
          }
          socialMedia {
            facebook
            instagram
            twitter
          }
          description
          openingHours {
            monday {
              from
              to
            }
            tuesday {
              from
              to
            }
            wednesday {
              from
              to
            }
            thursday {
              from
              to
            }
            friday {
              from
              to
            }
            saturday {
              from
              to
            }
            sunday {
              from
              to
            }
          }
          position {
            latitude
            longitude
          }
          externalSystemsReferences {
            foreignId
            system
          }
        }
      }
      contacts {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        email
        address {
          street
          zip
          city
          state
          country
        }
        phoneNumbers {
          value
          phoneType
          formatted
        }
        childIds
        profileImage {
          url
        }
        roles {
          role {
            roleId
            title
            locked
            source
            target
            siteSetIds
            createdAt
          }
          targetId
        }
        roleInvitations {
          roleInvitationId
          roleTitle
          roleId
          verification {
            verificationMethod
          }
          siteTitle
          privacyPolicyLink
        }
        emergencyContact
        lastModifiedAt
        records {
          key
          value
        }
      }
      reasonForLeaving {
        id
        name
      }
      additionalLeavingInformation
      lastModifiedAt
      primaryHomeLanguage {
        code
        name
      }
      externalId
      diagnosedConditions {
        cognitive
        physical
        psychological
        sensory
      }
    }
    update {
      id
      name {
        firstName
        middleName
        lastName
        fullName
        shortName
      }
      gender
      birthday
      currentGroup {
        id
        title
        description
        institutionId
        site {
          institutionSetId
          title
          profileImage {
            url
          }
          siteType
        }
        staffRatio
        ordering
        profileImage {
          url
        }
      }
      profileImage {
        url
      }
      records {
        key
        value
      }
      sensitiveRecords {
        key
        value
      }
      sitesRelation {
        firstDay
        lastDay
        site {
          siteId
          title
          address {
            street
            zip
            city
            state
            country
          }
          contactPerson {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          phone {
            value
            phoneType
            formatted
          }
          socialMedia {
            facebook
            instagram
            twitter
          }
          description
          openingHours {
            monday {
              from
              to
            }
            tuesday {
              from
              to
            }
            wednesday {
              from
              to
            }
            thursday {
              from
              to
            }
            friday {
              from
              to
            }
            saturday {
              from
              to
            }
            sunday {
              from
              to
            }
          }
          position {
            latitude
            longitude
          }
          externalSystemsReferences {
            foreignId
            system
          }
        }
      }
      contacts {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        email
        address {
          street
          zip
          city
          state
          country
        }
        phoneNumbers {
          value
          phoneType
          formatted
        }
        childIds
        profileImage {
          url
        }
        roles {
          role {
            roleId
            title
            locked
            source
            target
            siteSetIds
            createdAt
          }
          targetId
        }
        roleInvitations {
          roleInvitationId
          roleTitle
          roleId
          verification {
            verificationMethod
          }
          siteTitle
          privacyPolicyLink
        }
        emergencyContact
        lastModifiedAt
        records {
          key
          value
        }
      }
      reasonForLeaving {
        id
        name
      }
      additionalLeavingInformation
      lastModifiedAt
      primaryHomeLanguage {
        code
        name
      }
      externalId
      diagnosedConditions {
        cognitive
        physical
        psychological
        sensory
      }
    }
    delete
    moveGroup {
      childId
      groupId
      group {
        id
        title
        description
        institutionId
        site {
          institutionSetId
          title
          profileImage {
            url
          }
          siteType
        }
        staffRatio
        ordering
        profileImage {
          url
        }
      }
      date
      time
    }
    cancelGroupMove {
      childId
      groupId
      group {
        id
        title
        description
        institutionId
        site {
          institutionSetId
          title
          profileImage {
            url
          }
          siteType
        }
        staffRatio
        ordering
        profileImage {
          url
        }
      }
      date
      time
    }
  }
}
Response
{
  "data": {
    "children": {
      "create": [Child],
      "update": [Child],
      "delete": [
        "0c83793f-2ce6-458e-8d08-78d3910bdccb"
      ],
      "moveGroup": [GroupMove],
      "cancelGroupMove": [GroupMove]
    }
  }
}

contacts

Description

For creating and updating contacts

Response

Returns a ContactsMutation!

Example

Query
mutation Contacts {
  contacts {
    create {
      id
      name {
        firstName
        middleName
        lastName
        fullName
        shortName
      }
      email
      address {
        street
        zip
        city
        state
        country
      }
      phoneNumbers {
        value
        phoneType
        formatted
      }
      childIds
      profileImage {
        url
      }
      roles {
        role {
          roleId
          title
          locked
          source
          target
          siteSetIds
          createdAt
        }
        targetId
      }
      roleInvitations {
        roleInvitationId
        roleTitle
        roleId
        verification {
          verificationMethod
        }
        siteTitle
        privacyPolicyLink
      }
      emergencyContact
      lastModifiedAt
      records {
        key
        value
      }
    }
    update {
      id
      name {
        firstName
        middleName
        lastName
        fullName
        shortName
      }
      email
      address {
        street
        zip
        city
        state
        country
      }
      phoneNumbers {
        value
        phoneType
        formatted
      }
      childIds
      profileImage {
        url
      }
      roles {
        role {
          roleId
          title
          locked
          source
          target
          siteSetIds
          createdAt
        }
        targetId
      }
      roleInvitations {
        roleInvitationId
        roleTitle
        roleId
        verification {
          verificationMethod
        }
        siteTitle
        privacyPolicyLink
      }
      emergencyContact
      lastModifiedAt
      records {
        key
        value
      }
    }
  }
}
Response
{
  "data": {
    "contacts": {
      "create": [Contact],
      "update": [Contact]
    }
  }
}

contractedhours

Response

Returns a ContractedHoursPublicMutations!

Example

Query
mutation Contractedhours {
  contractedhours {
    scheduleChange {
      current {
        hours
        minutes
        validFrom
        validTo
      }
      scheduled {
        hours
        minutes
        date
      }
    }
    deleteScheduledChange {
      current {
        hours
        minutes
        validFrom
        validTo
      }
      scheduled {
        hours
        minutes
        date
      }
    }
    saveCurrent {
      current {
        hours
        minutes
        validFrom
        validTo
      }
      scheduled {
        hours
        minutes
        date
      }
    }
  }
}
Response
{
  "data": {
    "contractedhours": {
      "scheduleChange": ContractedHoursPublicResult,
      "deleteScheduledChange": ContractedHoursPublicResult,
      "saveCurrent": ContractedHoursPublicResult
    }
  }
}

email

Description

For sending transactional emails via the public API

Response

Returns an EmailMutations!

Example

Query
mutation Email {
  email {
    sendToStaff {
      emailId
    }
    sendToContact {
      emailId
    }
  }
}
Response
{
  "data": {
    "email": {
      "sendToStaff": SendEmailResult,
      "sendToContact": SendEmailResult
    }
  }
}

employees

Description

For managing employees

Response

Returns an EmployeeMutations!

Example

Query
mutation Employees {
  employees {
    create {
      id
      name {
        firstName
        middleName
        lastName
        fullName
        shortName
      }
      siteId
      groupId
      group {
        id
        title
        description
        institutionId
        site {
          institutionSetId
          title
          profileImage {
            url
          }
          siteType
        }
        staffRatio
        ordering
        profileImage {
          url
        }
      }
      profileImage {
        url
      }
      email
      title
      birthDate
      gender
      phoneNumber {
        value
        phoneType
        formatted
      }
      address {
        street
        zip
        city
        state
        country
      }
      firstDay
      lastDay
      roleId
      role {
        employeeId
        person {
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          id
          profileImage {
            url
          }
        }
        institutionSetId
        roleId
      }
      customEmployeeId
      employeeWorkDayHours
      employeeWorkDayMin
      holidayAllowance
      loginId
      lastModifiedAt
    }
    update {
      id
      name {
        firstName
        middleName
        lastName
        fullName
        shortName
      }
      siteId
      groupId
      group {
        id
        title
        description
        institutionId
        site {
          institutionSetId
          title
          profileImage {
            url
          }
          siteType
        }
        staffRatio
        ordering
        profileImage {
          url
        }
      }
      profileImage {
        url
      }
      email
      title
      birthDate
      gender
      phoneNumber {
        value
        phoneType
        formatted
      }
      address {
        street
        zip
        city
        state
        country
      }
      firstDay
      lastDay
      roleId
      role {
        employeeId
        person {
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          id
          profileImage {
            url
          }
        }
        institutionSetId
        roleId
      }
      customEmployeeId
      employeeWorkDayHours
      employeeWorkDayMin
      holidayAllowance
      loginId
      lastModifiedAt
    }
    delete
  }
}
Response
{
  "data": {
    "employees": {
      "create": [Employee],
      "update": [Employee],
      "delete": [
        "0c83793f-2ce6-458e-8d08-78d3910bdccb"
      ]
    }
  }
}

files

Description

For managing files

Response

Returns a FileMutations!

Example

Query
mutation Files {
  files {
    getSignedUrl {
      signedUploadUrl
      hmac
    }
    getSignedUrls {
      filename
      upload {
        signedUploadUrl
        hmac
      }
    }
  }
}
Response
{
  "data": {
    "files": {
      "getSignedUrl": FileUpload,
      "getSignedUrls": [BatchFileUpload]
    }
  }
}

groups

Description

For managing groups (rooms)

Response

Returns a GroupMutations!

Example

Query
mutation Groups {
  groups {
    create {
      id
      title
      description
      institutionId
      site {
        institutionSetId
        title
        profileImage {
          url
        }
        siteType
      }
      staffRatio
      ordering
      profileImage {
        url
      }
    }
    update {
      id
      title
      description
      institutionId
      site {
        institutionSetId
        title
        profileImage {
          url
        }
        siteType
      }
      staffRatio
      ordering
      profileImage {
        url
      }
    }
  }
}
Response
{
  "data": {
    "groups": {
      "create": [Group],
      "update": [Group]
    }
  }
}

inquiries

Description

For creating inquiries for children

Response

Returns a ChildInquiryMutation!

Example

Query
mutation Inquiries {
  inquiries {
    create {
      siteId
      siteName
      createdAt
      lastModifiedAt
      id
      status
      childId
      child {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      source
      bookingSource
      reason
      lostCategory
      lostReason
      actions {
        id
        inquiryId
        type
        lastUpdatedAt
        note
        subject
        createdAt
        due
      }
      note
      group {
        id
        siteId
        siteName
        title
        description
        profileImage {
          url
        }
      }
      enrolledAt
      enrolledBy
    }
    updateInquiry {
      siteId
      siteName
      createdAt
      lastModifiedAt
      id
      status
      childId
      child {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      source
      bookingSource
      reason
      lostCategory
      lostReason
      actions {
        id
        inquiryId
        type
        lastUpdatedAt
        note
        subject
        createdAt
        due
      }
      note
      group {
        id
        siteId
        siteName
        title
        description
        profileImage {
          url
        }
      }
      enrolledAt
      enrolledBy
    }
    deleteInquiries {
      siteId
      siteName
      createdAt
      lastModifiedAt
      id
      status
      childId
      child {
        id
        name {
          firstName
          middleName
          lastName
          fullName
          shortName
        }
        gender
        birthday
        currentGroup {
          id
          title
          description
          institutionId
          site {
            institutionSetId
            title
            profileImage {
              url
            }
            siteType
          }
          staffRatio
          ordering
          profileImage {
            url
          }
        }
        profileImage {
          url
        }
        records {
          key
          value
        }
        sensitiveRecords {
          key
          value
        }
        sitesRelation {
          firstDay
          lastDay
          site {
            siteId
            title
            address {
              street
              zip
              city
              state
              country
            }
            contactPerson {
              firstName
              middleName
              lastName
              fullName
              shortName
            }
            email
            phone {
              value
              phoneType
              formatted
            }
            socialMedia {
              facebook
              instagram
              twitter
            }
            description
            openingHours {
              monday {
                from
                to
              }
              tuesday {
                from
                to
              }
              wednesday {
                from
                to
              }
              thursday {
                from
                to
              }
              friday {
                from
                to
              }
              saturday {
                from
                to
              }
              sunday {
                from
                to
              }
            }
            position {
              latitude
              longitude
            }
            externalSystemsReferences {
              foreignId
              system
            }
          }
        }
        contacts {
          id
          name {
            firstName
            middleName
            lastName
            fullName
            shortName
          }
          email
          address {
            street
            zip
            city
            state
            country
          }
          phoneNumbers {
            value
            phoneType
            formatted
          }
          childIds
          profileImage {
            url
          }
          roles {
            role {
              roleId
              title
              locked
              source
              target
              siteSetIds
              createdAt
            }
            targetId
          }
          roleInvitations {
            roleInvitationId
            roleTitle
            roleId
            verification {
              verificationMethod
            }
            siteTitle
            privacyPolicyLink
          }
          emergencyContact
          lastModifiedAt
          records {
            key
            value
          }
        }
        reasonForLeaving {
          id
          name
        }
        additionalLeavingInformation
        lastModifiedAt
        primaryHomeLanguage {
          code
          name
        }
        externalId
        diagnosedConditions {
          cognitive
          physical
          psychological
          sensory
        }
      }
      source
      bookingSource
      reason
      lostCategory
      lostReason
      actions {
        id
        inquiryId
        type
        lastUpdatedAt
        note
        subject
        createdAt
        due
      }
      note
      group {
        id
        siteId
        siteName
        title
        description
        profileImage {
          url
        }
      }
      enrolledAt
      enrolledBy
    }
    createInquiryAction {
      id
      inquiryId
      type
      lastUpdatedAt
      note
      subject
      createdAt
      due
    }
    updateInquiryAction {
      id
      inquiryId
      type
      lastUpdatedAt
      note
      subject
      createdAt
      due
    }
    deleteInquiryAction {
      id
      inquiryId
      type
      lastUpdatedAt
      note
      subject
      createdAt
      due
    }
  }
}
Response
{
  "data": {
    "inquiries": {
      "create": [ChildInquiry],
      "updateInquiry": ChildInquiry,
      "deleteInquiries": [ChildInquiry],
      "createInquiryAction": InquiryAction,
      "updateInquiryAction": InquiryAction,
      "deleteInquiryAction": InquiryAction
    }
  }
}

invoices

Description

For managing invoices

Response

Returns an InvoiceMutations!

Example

Query
mutation Invoices {
  invoices {
    create {
      invoiceId
      title
      total
      invoiceDate
      dueDate
      billPayerId
      lines {
        type
        childId
        info
        amount
        account {
          accountId
          title
          reference
        }
        period {
          from
          to
        }
      }
      items {
        type
        title
        childId
        amount
        subtotal
        total
        account {
          accountId
          title
          reference
        }
        period {
          from
          to
        }
        sessionId
        productId
      }
      pdfResult {
        ... on InvoicePdfSuccessType {
          succeeded
        }
        ... on InvoicePdfFailedType {
          errors
        }
      }
      invoiceNumber
      creditStatus {
        ... on InvoiceStatusIsCreditNote {
          credits
        }
        ... on InvoiceStatusIsCredited {
          creditedBy
        }
      }
    }
    setPdf {
      success
    }
    reportError {
      invoiceId
      success
    }
    createCreditNote {
      invoiceId
      invoiceNumber
    }
  }
}
Response
{
  "data": {
    "invoices": {
      "create": [Invoice],
      "setPdf": SetPdfResult,
      "reportError": ErrorReportResponse,
      "createCreditNote": CreateCreditNoteOutput
    }
  }
}

leaveBalances

Description

For modifying leave balances

Response

Returns a LeaveBalancesMutations!

Example

Query
mutation LeaveBalances {
  leaveBalances {
    setEmployeeBalanceOverride
  }
}
Response
{"data": {"leaveBalances": {"setEmployeeBalanceOverride": 123.45}}}

leaves

Description

For mutating absences for children and employees

Response

Returns a LeavesMutations!

Example

Query
mutation Leaves {
  leaves {
    employees {
      delete
      create {
        leaveId
        employeeId
        siteId
        date
        leaveType
        leaveSubTypeName
        leaveSubTypeCode
        reason
        startTime
        endTime
        hours
        minutes
        deletedAt
      }
      update {
        leaveId
        employeeId
        siteId
        date
        leaveType
        leaveSubTypeName
        leaveSubTypeCode
        reason
        startTime
        endTime
        hours
        minutes
        deletedAt
      }
    }
  }
}
Response
{
  "data": {
    "leaves": {"employees": EmployeeLeaveMutations}
  }
}

payments

Description

For managing payments

Response

Returns a PaymentMutations!

Example

Query
mutation Payments {
  payments {
    create {
      id
      amount
      childId
      paymentMethod
      note
      refundReason
      paymentDate
      createdAt
      deletedAt
      transactionStatus
      billPayer {
        billPayerId
        siteId
        name
        email
        accountNumber
        sortCode
        note
      }
      currency
      viaFamlyPay
      inAppPayment {
        paymentId
      }
      isDeposited
      depositDate
      depositId
      invoices {
        invoiceId
      }
      externalSystem {
        id
        system
        name
        externalType
      }
      metadata {
        key
        value
      }
    }
    update {
      id
      amount
      childId
      paymentMethod
      note
      refundReason
      paymentDate
      createdAt
      deletedAt
      transactionStatus
      billPayer {
        billPayerId
        siteId
        name
        email
        accountNumber
        sortCode
        note
      }
      currency
      viaFamlyPay
      inAppPayment {
        paymentId
      }
      isDeposited
      depositDate
      depositId
      invoices {
        invoiceId
      }
      externalSystem {
        id
        system
        name
        externalType
      }
      metadata {
        key
        value
      }
    }
    delete {
      id
    }
  }
}
Response
{
  "data": {
    "payments": {
      "create": [Payment],
      "update": [Payment],
      "delete": [PaymentDeleteResult]
    }
  }
}

shiftplanner

Response

Returns a ShiftPlannerPublicMutations!

Example

Query
mutation Shiftplanner {
  shiftplanner {
    publish {
      publishedShifts {
        shiftId
        date
        startTime
        endTime
        breakMinutes
        state
        location
        assignedTo
        workTag {
          tagId
          name
          color
          code
        }
        note {
          note
          updatedBy
          updatedAt
        }
      }
    }
    shift {
      create {
        shift {
          shiftId
          date
          startTime
          endTime
          breakMinutes
          state
          assignedTo
          location
          workTag {
            tagId
            name
            color
            code
          }
          managerNote {
            note
            updatedBy
            updatedAt
          }
        }
      }
      update {
        shift {
          shiftId
          date
          startTime
          endTime
          breakMinutes
          state
          assignedTo
          location
          workTag {
            tagId
            name
            color
            code
          }
          managerNote {
            note
            updatedBy
            updatedAt
          }
        }
      }
      delete {
        shift {
          shiftId
          date
          startTime
          endTime
          breakMinutes
          state
          assignedTo
          location
          workTag {
            tagId
            name
            color
            code
          }
          managerNote {
            note
            updatedBy
            updatedAt
          }
        }
      }
    }
  }
}
Response
{
  "data": {
    "shiftplanner": {
      "publish": ShiftPlannerPublishResultPublicType,
      "shift": ShiftPublicMutations
    }
  }
}

staffAbsenceSettings

Description

For mutating staff absence settings

Response

Returns a StaffLeaveSettingMutations!

Example

Query
mutation StaffAbsenceSettings {
  staffAbsenceSettings {
    staffAbsenceSubtypes {
      create {
        id
        leaveType
        name
        code
        paid
      }
      delete
      update {
        id
        leaveType
        name
        code
        paid
      }
    }
    updateEmployeeAbsenceDayHours
    updateHolidayEntitlementMinutes
    updateHolidayAbsenceRange
    updateApprovalRequired
    updateSubTypeIsRequired
    updateSubTypeIsRestricted
    updateIsPaid
  }
}
Response
{
  "data": {
    "staffAbsenceSettings": {
      "staffAbsenceSubtypes": StaffAbsenceSubTypePublicMutations,
      "updateEmployeeAbsenceDayHours": 987.65,
      "updateHolidayEntitlementMinutes": 987,
      "updateHolidayAbsenceRange": "JAN1DEC31",
      "updateApprovalRequired": true,
      "updateSubTypeIsRequired": false,
      "updateSubTypeIsRestricted": true,
      "updateIsPaid": false
    }
  }
}

workTags

Response

Returns a WorkTagPublicAPIMutationsType!

Example

Query
mutation WorkTags {
  workTags {
    create {
      tagId
      name
      color
      code
    }
    update {
      tagId
      name
      color
      code
    }
    delete {
      tagId
      name
      color
      code
    }
  }
}
Response
{
  "data": {
    "workTags": {
      "create": WorkTagPublicAPIResultResultType,
      "update": WorkTagPublicAPIResultResultType,
      "delete": WorkTagPublicAPIResultResultType
    }
  }
}

workavailability

Example

Query
mutation Workavailability {
  workavailability {
    save {
      employeeId
      current {
        monday {
          from
          to
        }
        tuesday {
          from
          to
        }
        wednesday {
          from
          to
        }
        thursday {
          from
          to
        }
        friday {
          from
          to
        }
        saturday {
          from
          to
        }
        sunday {
          from
          to
        }
        validFrom
        validTo
      }
    }
  }
}
Response
{
  "data": {
    "workavailability": {
      "save": WorkAvailabilityPublicResult
    }
  }
}

Types

AccidentReport

Description

Represents an accident report

Fields
Field Name Description
reportId - AccidentReportId!
site - Site!
child - Child!
createdAt - ZonedDateTime!
createdBy - Person!
kind - String!
description - String!
firstAid - String!
date - LocalDate!
time - LocalTime
location - String!
parentsNotified - String!
note - String
witness - [EmployeeLimitedInfo!]!
staffPresent - [EmployeeLimitedInfo!]!
acknowledgedAt - ZonedDateTime
acknowledgedBy - Person
files - [File!]!
images - [Image!]!
lado - Boolean
ofsted - Boolean
riddor - Boolean
onArrival - Boolean
status - AccidentReportStatus!
sentAt - ZonedDateTime The time when this report was first sent to parents
Example
{
  "reportId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "site": Site,
  "child": Child,
  "createdAt": "2022-10-07T01:08:03.420+02:00",
  "createdBy": Person,
  "kind": "abc123",
  "description": "xyz789",
  "firstAid": "abc123",
  "date": "2022-10-07",
  "time": "01:08:03.420",
  "location": "abc123",
  "parentsNotified": "xyz789",
  "note": "abc123",
  "witness": [EmployeeLimitedInfo],
  "staffPresent": [EmployeeLimitedInfo],
  "acknowledgedAt": "2022-10-07T01:08:03.420+02:00",
  "acknowledgedBy": Person,
  "files": [File],
  "images": [Image],
  "lado": true,
  "ofsted": true,
  "riddor": false,
  "onArrival": true,
  "status": "DRAFT",
  "sentAt": "2022-10-07T01:08:03.420+02:00"
}

AccidentReportCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

AccidentReportId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

AccidentReportQueries

Description

For querying accident reports

Fields
Field Name Description
listBySiteIds - AccidentReportsResult! A paginated list of accident reports for the given sites. The results are ordered by creation date (newest first). The maximum page size is 100 records.
Arguments
siteIds - [SiteId!]!

Sites to return accident reports for

nextToken - AccidentReportCursor

When provided results are paged. Otherwise, full result will be returned

dateRange - ClosedLocalDateRange

Filter by report creation date (inclusive)

pageSize - Int

Maximum number of results to return (default: 50, max: 100)

Example
{"listBySiteIds": AccidentReportsResult}

AccidentReportStatus

Values
Enum Value Description

DRAFT

PENDING_REVIEW

CHANGES_REQUESTED

SENT

Example
"DRAFT"

AccidentReportsResult

Description

Represents the paginated result of listing accident reports

Fields
Field Name Description
result - [AccidentReport!]! A paginated list of accident reports.
next - AccidentReportCursor Cursor for fetching the next page of results.
Example
{
  "result": [AccidentReport],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

AccountId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

AccountQueries

Description

For querying account codes

Fields
Field Name Description
listBySiteIds - [AccountType!]! List all accounts for the given sites
Arguments
siteIds - [SiteId!]!

The site IDs to fetch accounts for

includeDeleted - Boolean

Whether to include deleted accounts

Example
{"listBySiteIds": [AccountType]}

AccountType

Fields
Field Name Description
accountId - AccountId!
title - String!
reference - String!
Example
{
  "accountId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "abc123",
  "reference": "xyz789"
}

Address

Fields
Field Name Description
street - String!
zip - String!
city - String!
state - String
country - String
Example
{
  "street": "Koebmagergade 19, 2TV",
  "zip": "1150",
  "city": "Copenhagen",
  "state": "Copenhagen",
  "country": "Denmark"
}

AddressInput

Fields
Input Field Description
street - String!
zip - String!
city - String!
state - String
country - String
Example
{
  "street": "Koebmagergade 19, 2TV",
  "zip": "1150",
  "city": "Copenhagen",
  "state": "Copenhagen",
  "country": "Denmark"
}

AssignedShiftsPublicType

Fields
Field Name Description
date - LocalDate!
scheduledMinutesOnDay - Float!
shifts - [ShiftPublicType!]!
Example
{
  "date": "2022-10-07",
  "scheduledMinutesOnDay": 987.65,
  "shifts": [ShiftPublicType]
}

AttendanceCreateInputType

Fields
Input Field Description
employeeId - EmployeeId! Staff member id
groupId - GroupId! Room id of attendance
dateTimeRange - NonEmptyLocalDateTimeRangeInput! Attendance date-time range
workTagId - WorkTagId Work tag id
managerNote - String Manager Note
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "dateTimeRange": NonEmptyLocalDateTimeRangeInput,
  "workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "managerNote": "abc123"
}

AttendanceUpdateInputType

Fields
Input Field Description
employeeCheckInId - EmployeeCheckInId! Attendance id
groupId - GroupId! Room id of attendance
dateTimeRange - NonEmptyLocalDateTimeRangeInput! Attendance date-time range
workTagId - WorkTagId Work tag id
managerNote - String Manager Note
Example
{
  "employeeCheckInId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "dateTimeRange": NonEmptyLocalDateTimeRangeInput,
  "workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "managerNote": "xyz789"
}

AvailablePaymentsSourceType

Description

A possible payments type for a billpayer

Fields
Field Name Description
type - PaymentsSourceType!
active - Boolean!
status - PaymentsSourceStatus!
title - String!
Example
{
  "type": "DEBIT_CARD",
  "active": true,
  "status": "READY",
  "title": "xyz789"
}

BadMoney

Description

A string containing an amount of money given as a decimal number

Example
BadMoney

BankHoursPublic

Fields
Field Name Description
minutes - Int!
validFrom - ZonedDateTime!
employeeId - EmployeeId!
Example
{
  "minutes": 123,
  "validFrom": "2022-10-07T01:08:03.420+02:00",
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

BankHoursPublicInput

Fields
Input Field Description
minutes - Int!
Example
{"minutes": 123}

BankHoursPublicMutations

Description

Bank hours public mutations

Fields
Field Name Description
save - BankHoursPublicResult! Save employee bank hours. Replaces current value if present.
Arguments
employeeId - EmployeeId!
bankHoursInput - BankHoursPublicInput!
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
employeeId - EmployeeId!
Example
{"byEmployee": BankHoursPublicResult}

BankHoursPublicResult

Fields
Field Name Description
current - BankHoursPublic
Example
{"current": BankHoursPublic}

BasicChildRecordKey

Values
Enum Value Description

MIGRATION_BACKGROUND

DACH extra fields feature has been removed; this key is no longer persisted or returned.

EXTRA_INFO

LANGUAGE

NATIONALITY

WEEKLY_HOURS

DACH extra fields feature has been removed; this key is no longer persisted or returned.

BIRTHPLACE

Example
"MIGRATION_BACKGROUND"

BatchFileUpload

Description

Data required to make an out-of-band file upload of multiple files

Fields
Field Name Description
filename - String! Name of the file to be uploaded
upload - FileUpload! Object holding data required for file upload
Example
{
  "filename": "abc123",
  "upload": FileUpload
}

BillPayer

Description

Output for creating a bill payer

Fields
Field Name Description
billPayerId - BillPayerId Unique identifier for a bill payer in Famly
siteId - SiteId! Uniquely identifies the site for which the bill payer receives invoices
name - String!
phone - String
address - Address
email - String
accountNumber - String The bill payers bank account number
sortCode - String The bill payer's bank sort code
accountDetails - BillPayerAccountDetails Direct debit / SEPA account details. Only populated when the DIRECT_DEBIT feature is enabled for the site.
note - String Free-text notes kept regarding the bill payer
children - [BillPayerChild!]!
invoiceRecipients - [InvoiceRecipient!]!
externalId - String
categories - [BillPayerCategory!]! Categories (tags) assigned to this bill payer Deprecated since 2026-01-20. Use the tags field instead.
tags - [BillPayerTag!]! Tags assigned to this bill payer
availablePaymentsSources - [AvailablePaymentsSourceType!]! Available payment sources for this bill payer
balance - BadMoney!
socialSecurityNumber - String The bill payer's social security number. Requires the permission to view sensitive bill payer information.
billingReference - String The bill payer's billing reference
Example
{
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789",
  "phone": "abc123",
  "address": Address,
  "email": "example@famly.co",
  "accountNumber": "abc123",
  "sortCode": "abc123",
  "accountDetails": BillPayerAccountDetails,
  "note": "abc123",
  "children": [BillPayerChild],
  "invoiceRecipients": [InvoiceRecipient],
  "externalId": "xyz789",
  "categories": [BillPayerCategory],
  "tags": [BillPayerTag],
  "availablePaymentsSources": [
    AvailablePaymentsSourceType
  ],
  "balance": BadMoney,
  "socialSecurityNumber": "abc123",
  "billingReference": "xyz789"
}

BillPayerAccountDetails

Description

Direct debit / SEPA account details for a bill payer

Fields
Field Name Description
accountName - String The account holder name
accountNumber - String The bill payers bank account number
sortCode - String The bill payer's bank sort code
iban - String International Bank Account Number
bic - String Bank Identifier Code
Example
{
  "accountName": "abc123",
  "accountNumber": "abc123",
  "sortCode": "xyz789",
  "iban": "abc123",
  "bic": "xyz789"
}

BillPayerCategory

Description

A category for a bill payer

Fields
Field Name Description
id - BillPayerCategoryId!
name - String!
siteSetId - SiteSetId!
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "abc123",
  "siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

BillPayerCategoryId

Description

A string containing a 26-character Universally Unique Lexicographically Sortable Identifier

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

BillPayerChild

Description

A child associated with a bill payer

Fields
Field Name Description
childId - ChildId! Uniquely identifies a child within Famly
share - ChildShare
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "share": ChildShare
}

BillPayerChildInput

Description

Input for creating a bill payer child

Fields
Input Field Description
childId - ChildId! Uniquely identifies a child within Famly
share - ChildShareInput
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "share": ChildShareInput
}

BillPayerChildShareType

Description

Shares of a bill for a child

Fields
Field Name Description
billPayerId - BillPayerId!
childId - ChildId!
share - ChildShare
Example
{
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "share": ChildShare
}

BillPayerCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

BillPayerId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

BillPayerInput

Description

Input for creating a bill payer

Fields
Input Field Description
siteId - SiteId! Uniquely identifies the site for which the bill payer receives invoices
name - NameInput!
phone - PhoneNumber
address - AddressInput
email - EmailAddress
accountNumber - String The bill payers bank account number
sortCode - String The bill payer's bank sort code
note - String Free-text notes kept regarding the bill payer
children - [BillPayerChildInput!]
invoiceRecipients - [InvoiceRecipientInput!]
externalId - String Identifier for keeping the bill payer in sync with an external system
Example
{
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput,
  "phone": "+17895551234",
  "address": AddressInput,
  "email": "example@famly.co",
  "accountNumber": "xyz789",
  "sortCode": "xyz789",
  "note": "xyz789",
  "children": [BillPayerChildInput],
  "invoiceRecipients": [InvoiceRecipientInput],
  "externalId": "xyz789"
}

BillPayerListingResult

Fields
Field Name Description
result - [BillPayer!]!
next - BillPayerCursor
Example
{
  "result": [BillPayer],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

BillPayerMutations

Description

For managing bill payers

Fields
Field Name Description
create - [BillPayer!]! Create bill payers
Arguments
billPayers - [BillPayerInput!]!
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
billPayerIds - [BillPayerId!]!
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:

  • One of the payments is recurring
  • One of the payments is a FamlyPay payment
  • One of the payments is connected to multiple invoices

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
fromBillPayerId - BillPayerId!
toBillPayerId - BillPayerId!
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
invoiceRecipients - [InvoiceRecipientInput!]!
deleteInvoiceRecipients - [InvoiceRecipientDeleteResult!]! Delete the given invoice recipients for the specified bill payers.
Arguments
invoiceRecipients - [InvoiceRecipientDeleteInput!]!
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
siteIds - [SiteId!]!
nextToken - BillPayerCursor
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

Fields
Field Name Description
billPayerId - BillPayerId!
siteId - SiteId!
name - String!
email - String
accountNumber - String
sortCode - String
note - String
Example
{
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789",
  "email": "example@famly.co",
  "accountNumber": "abc123",
  "sortCode": "xyz789",
  "note": "xyz789"
}

BillPayerTag

Description

A tag for a bill payer

Fields
Field Name Description
id - BillPayerTagId!
name - String!
siteSetId - SiteSetId!
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "abc123",
  "siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

BillPayerTagId

Description

A string containing a 26-character Universally Unique Lexicographically Sortable Identifier

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

BillPayerUpdate

Description

Output for updating a bill payer

Fields
Field Name Description
billPayerId - BillPayerId Unique identifier for a bill payer in Famly
siteId - SiteId! Uniquely identifies the site for which the bill payer receives invoices
name - String!
phone - String
address - Address
email - String
accountNumber - String The bill payers bank account number
sortCode - String The bill payer's bank sort code
accountDetails - BillPayerAccountDetails Direct debit / SEPA account details. Only populated when the DIRECT_DEBIT feature is enabled for the site.
note - String Free-text notes kept regarding the bill payer
categories - [BillPayerCategory!]! Categories (tags) assigned to this bill payer Deprecated since 2026-01-20. Use the tags field instead.
tags - [BillPayerTag!]! Tags assigned to this bill payer
availablePaymentsSources - [AvailablePaymentsSourceType!]! Available payment sources for this bill payer
Example
{
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789",
  "phone": "abc123",
  "address": Address,
  "email": "example@famly.co",
  "accountNumber": "xyz789",
  "sortCode": "abc123",
  "accountDetails": BillPayerAccountDetails,
  "note": "xyz789",
  "categories": [BillPayerCategory],
  "tags": [BillPayerTag],
  "availablePaymentsSources": [
    AvailablePaymentsSourceType
  ]
}

BillPayerUpdateInput

Description

Input for updating a bill payer

Fields
Input Field Description
billPayerId - BillPayerId! Unique identifier for a bill payer in Famly
siteId - SiteId! Deprecated — this field is ignored. The bill payer's site is resolved automatically from the database. Moving bill payers between sites is not supported.
name - NameInput!
phone - PhoneNumber
address - AddressInput
email - EmailAddress
accountNumber - String The bill payers bank account number
sortCode - String The bill payer's bank sort code
note - String Free-text notes kept regarding the bill payer
externalId - String Identifier for keeping the bill payer in sync with an external system
Example
{
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput,
  "phone": "+17895551234",
  "address": AddressInput,
  "email": "example@famly.co",
  "accountNumber": "abc123",
  "sortCode": "abc123",
  "note": "xyz789",
  "externalId": "xyz789"
}

Boolean

Description

The Boolean scalar type represents true or false.

CheckinCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

CheckinMutations

Description

For editing employee checkin/attendance data

Fields
Field Name Description
employees - EmployeeCheckinMutations! For creating and updating attendance records for employees
Example
{"employees": EmployeeCheckinMutations}

CheckinQueries

Description

For querying checkins for children and employees

Fields
Field Name Description
children - ChildCheckinQueries! For querying checkins for children
employees - EmployeeCheckinQueries! For querying checkins for employees
Example
{
  "children": ChildCheckinQueries,
  "employees": EmployeeCheckinQueries
}

Child

Description

Represents a child

Fields
Field Name Description
id - ChildId! Child Id
name - Name! Child name
gender - Gender Child gender
birthday - LocalDate The child's birthday
currentGroup - Group
profileImage - ProfileImage
records - [Record!]!

Basic child info records.

Currently available are:

  • BIRTHPLACE
  • LANGUAGE
  • NATIONALITY
  • EXTRA_INFO
Arguments
sensitiveRecords - [Record!]!

Sensitive child info records.

Currently available are:

  • ALLERGY
  • DENTIST_ADDRESS_CITY
  • DENTIST_ADDRESS_COUNTRY
  • DENTIST_ADDRESS_POST_CODE
  • DENTIST_ADDRESS_STATE
  • DENTIST_ADDRESS_STREET
  • DENTIST_NAME
  • DENTIST_PHONE
  • DOCTOR_ADDRESS_CITY
  • DOCTOR_ADDRESS_COUNTRY
  • DOCTOR_ADDRESS_POST_CODE
  • DOCTOR_ADDRESS_STATE
  • DOCTOR_ADDRESS_STREET
  • DOCTOR_NAME
  • DOCTOR_PHONE
  • ETHNICITY
  • RELIGION
  • SPECIAL_DIETARY_CONSIDERATIONS
  • SPECIAL_NOTES
  • TOLERATES_PENICILLIN
  • VACCINES
Arguments
sitesRelation - [SiteRelation!]!
contacts - [Contact!]!
reasonForLeaving - ReasonForLeaving The reason why the child left the site, if applicable
additionalLeavingInformation - String Additional information about the child's reason for leaving.
lastModifiedAt - ZonedDateTime! The timestamp at which this child was last modified. Use this to drive incremental syncs.
primaryHomeLanguage - ChildLanguageValue The child's primary home language. Null when unset or not viewable by the caller.
externalId - String A partner-defined external identifier for the child. Null when unset or not viewable by the caller.
diagnosedConditions - ChildDiagnosedConditions! The child's diagnosed conditions across four categories.
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": Name,
  "gender": "FEMALE",
  "birthday": "2022-10-07",
  "currentGroup": Group,
  "profileImage": ProfileImage,
  "records": [Record],
  "sensitiveRecords": [Record],
  "sitesRelation": [SiteRelation],
  "contacts": [Contact],
  "reasonForLeaving": ReasonForLeaving,
  "additionalLeavingInformation": "abc123",
  "lastModifiedAt": "2022-10-07T01:08:03.420+02:00",
  "primaryHomeLanguage": ChildLanguageValue,
  "externalId": "abc123",
  "diagnosedConditions": ChildDiagnosedConditions
}

ChildCheckin

Description

Represents a child checkin

Fields
Field Name Description
result - [ChildCheckinResult!]! A paginated list of Child checkins
next - ChildCheckinCursor If this token is not empty, use this as an argument to fetch the next set of children.
Example
{
  "result": [ChildCheckinResult],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

ChildCheckinCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ChildCheckinId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ChildCheckinQueries

Description

For querying checkins for children

Fields
Field Name Description
list - ChildCheckin! Get all checkins
Arguments
SiteSetId - SiteSetId!

Will return child checkins for all sites in this set, including sub-sites if an area or organization is given

range - ClosedLocalDateRange!

Range to find checkins for, the date selection will look for records with the checkinTime within this range.

nextToken - ChildCheckinCursor

When provided results are paged. Otherwise, full result will be returned

Example
{"list": ChildCheckin}

ChildCheckinResult

Description

Represents a paginated result of children checkin

Fields
Field Name Description
id - ChildCheckinId! Checkin Id
childId - ChildId! Child id
siteId - SiteId! Site id
groupId - GroupId! Group id
checkinTime - ZonedDateTime! The time the child checked in
pickupTime - ZonedDateTime The (optional) expected pickup time of the child.
checkoutTime - ZonedDateTime The optional time the child was checked out
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "checkinTime": "2022-10-07T01:08:03.420+02:00",
  "pickupTime": "2022-10-07T01:08:03.420+02:00",
  "checkoutTime": "2022-10-07T01:08:03.420+02:00"
}

ChildContactRoleInvitation

Fields
Field Name Description
relationId - RelationId!
contactFirstName - String!
childName - Name!
childProfileImage - ProfileImage
roleInvitationId - RoleInvitationId!
roleTitle - String!
roleId - RoleId!
verification - RoleInvitationVerification!
siteTitle - String!
privacyPolicyLink - String
Example
{
  "relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "contactFirstName": "xyz789",
  "childName": Name,
  "childProfileImage": ProfileImage,
  "roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "roleTitle": "abc123",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "verification": RoleInvitationVerification,
  "siteTitle": "abc123",
  "privacyPolicyLink": "abc123"
}

ChildCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ChildDateOfBirthVerification

Fields
Field Name Description
childFirstName - String!
verificationMethod - RoleInvitationVerificationMethod!
Example
{
  "childFirstName": "xyz789",
  "verificationMethod": "DATE_OF_BIRTH"
}

ChildDiagnosedConditionLevel

Values
Enum Value Description

NONE

DIAGNOSED

DIAGNOSED_SEVERE

Example
"NONE"

ChildDiagnosedConditions

Description

A child's diagnosed conditions. Each level is null when unset or not viewable by the caller.

Fields
Field Name Description
cognitive - ChildDiagnosedConditionLevel
physical - ChildDiagnosedConditionLevel
psychological - ChildDiagnosedConditionLevel
sensory - ChildDiagnosedConditionLevel
Example
{
  "cognitive": "NONE",
  "physical": "NONE",
  "psychological": "NONE",
  "sensory": "NONE"
}

ChildDiagnosedConditionsInput

Description

Diagnosed condition levels to set for a child. Omitted fields are left unchanged.

Fields
Input Field Description
cognitive - ChildDiagnosedConditionLevel
physical - ChildDiagnosedConditionLevel
psychological - ChildDiagnosedConditionLevel
sensory - ChildDiagnosedConditionLevel
Example
{
  "cognitive": "NONE",
  "physical": "NONE",
  "psychological": "NONE",
  "sensory": "NONE"
}

ChildId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ChildInput

Description

Input for creating a child

Fields
Input Field Description
name - NameInput!
gender - Gender
birthday - LocalDate
currentGroupId - GroupId!
records - [RecordInput!]!
sensitiveRecords - [RecordInput!]!
sitesRelation - [SiteRelationInput!]!
isTestChild - Boolean
primaryHomeLanguage - String
externalId - String
diagnosedConditions - ChildDiagnosedConditionsInput
Example
{
  "name": NameInput,
  "gender": "FEMALE",
  "birthday": "2022-10-07",
  "currentGroupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "records": [RecordInput],
  "sensitiveRecords": [RecordInput],
  "sitesRelation": [SiteRelationInput],
  "isTestChild": true,
  "primaryHomeLanguage": "xyz789",
  "externalId": "xyz789",
  "diagnosedConditions": ChildDiagnosedConditionsInput
}

ChildInquiry

Description

Represents a child inquiry

Fields
Field Name Description
siteId - InstitutionId! Site ID
siteName - String Site title
createdAt - ZonedDateTime! The date of the inquiry
lastModifiedAt - ZonedDateTime! The timestamp at which this inquiry was last modified. Use this to drive incremental syncs.
id - InquiryId! Inquiry Id
status - Status! Status of inquiry
childId - ChildId! Child ID
child - Child Child
source - String! Source
bookingSource - String! BookingSource
reason - String! Reason
lostCategory - String! LostCategory
lostReason - String! LostReason
actions - [InquiryAction!]! Actions
note - String! Note
group - InquiryGroup Group
enrolledAt - ZonedDateTime Date when the child was enrolled
enrolledBy - String Name of the user who enrolled the child
Example
{
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteName": "abc123",
  "createdAt": "2022-10-07T01:08:03.420+02:00",
  "lastModifiedAt": "2022-10-07T01:08:03.420+02:00",
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "status": "WAITING_LIST",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "child": Child,
  "source": "abc123",
  "bookingSource": "abc123",
  "reason": "abc123",
  "lostCategory": "xyz789",
  "lostReason": "abc123",
  "actions": [InquiryAction],
  "note": "abc123",
  "group": InquiryGroup,
  "enrolledAt": "2022-10-07T01:08:03.420+02:00",
  "enrolledBy": "abc123"
}

ChildInquiryContact

Description

Input for creating a new contact on an inquiry

Fields
Input Field Description
name - NameInput!
email - ValidEmailAddress!
address - AddressInput
mobilePhone - PhoneNumber
homePhone - PhoneNumber
workPhone - PhoneNumber
Example
{
  "name": NameInput,
  "email": "example@famly.co",
  "address": AddressInput,
  "mobilePhone": "+17895551234",
  "homePhone": "+17895551234",
  "workPhone": "+17895551234"
}

ChildInquiryMutation

Description

For creating inquiries for children

Fields
Field Name Description
create - [ChildInquiry!]! After creating inquiries, returns a list of them
Arguments
inquiries - [InquiryInput!]!

A list of child inquiries to be created

updateInquiry - ChildInquiry! After creating inquiries, returns a list of them
Arguments
inquiryId - InquiryId!
inquiryUpdateInput - InquiryUpdateInput!

An inquiry to be updated

deleteInquiries - [ChildInquiry!]! Deletes inquiries given their IDs.
Arguments
inquiryIds - [InquiryId!]!
createInquiryAction - InquiryAction! Creates a new inquiry action.
Arguments
siteSetId - SiteSetId!
inquiryId - InquiryId!
inquiryActionInput - InquiryActionCreateInput!
updateInquiryAction - InquiryAction! Updates an existing inquiry action.
Arguments
siteSetId - SiteSetId!
inquiryActionId - InquiryActionId!
inquiryActionInput - InquiryActionUpdateInput!
deleteInquiryAction - InquiryAction! Deletes an inquiry action.
Arguments
siteSetId - SiteSetId!
inquiryActionId - InquiryActionId!
Example
{
  "create": [ChildInquiry],
  "updateInquiry": ChildInquiry,
  "deleteInquiries": [ChildInquiry],
  "createInquiryAction": InquiryAction,
  "updateInquiryAction": InquiryAction,
  "deleteInquiryAction": InquiryAction
}

ChildInquiryQueries

Description

For querying inquiries for children

Fields
Field Name Description
listBySiteIds - [ChildInquiry!]! Get all inquiries for given sites
Arguments
siteIds - [SiteId!]!

Sites to return inquiries for

listBySiteIdsPaginated - InquiriesPaginatedResult! Get all inquiries for given sites in a paginated fashion. If not specified, the page size is 25.
Arguments
siteIds - [SiteId!]!

Sites to return inquiries for

sortOrder - InquirySortOrder
pageSize - Int
cursor - InquiriesCursor
Example
{
  "listBySiteIds": [ChildInquiry],
  "listBySiteIdsPaginated": InquiriesPaginatedResult
}

ChildLanguageValue

Description

A language identified by a normalized ISO 639-1 code and its display name in the caller's locale.

Fields
Field Name Description
code - String! Normalized ISO 639-1 code, e.g. "de"
name - String! Display name of the language in the caller's locale, e.g. "German"
Example
{
  "code": "abc123",
  "name": "abc123"
}

ChildLeave

Description

Represents a child leave

Fields
Field Name Description
leaveId - ChildLeaveId! Child leave ID
childId - ChildId! Child ID
siteId - SiteId! Institution Id
vacationId - VacationId Vacation Id
date - LocalDate! Leave date
leaveType - String! Leave type
reason - String Reason
Example
{
  "leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "vacationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "leaveType": "abc123",
  "reason": "xyz789"
}

ChildLeaveCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ChildLeaveId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ChildLeavesQueries

Description

For querying child leaves

Fields
Field Name Description
listBySiteIds - ChildLeavesResult! A paginated list of children's leaves associated with the given a list of organization, area or site IDs
Arguments
siteSetIds - [SiteSetId!]!

When provided returns all child leaves from the listed siteSets. You can pass organizationIds, areaIds or siteIds here.

nextToken - ChildLeaveCursor

When provided results are paged. Otherwise, full result will be returned

range - ClosedLocalDateRange!

Range for finding leaves, the selection will look for records with the date within this range.

availableIllnesses - [NotifiableIllnessWithLabel!]! Returns the available notifiable illness options for the given site, based on the site's country
Arguments
siteId - SiteId!

The site to get available illnesses for

availableIllnessesForChild - [NotifiableIllnessWithLabel!]! Returns the available notifiable illness options for the given child, based on the child's site country
Arguments
childId - ChildId!

The child to get available illnesses for

isIllnessRequiredForChild - Boolean! Returns whether notifiable illness reporting is required for the given child's site
Arguments
childId - ChildId!

The child to check illness requirement for

Example
{
  "listBySiteIds": ChildLeavesResult,
  "availableIllnesses": [NotifiableIllnessWithLabel],
  "availableIllnessesForChild": [
    NotifiableIllnessWithLabel
  ],
  "isIllnessRequiredForChild": true
}

ChildLeavesResult

Description

Represents the paginated result of listing child leaves

Fields
Field Name Description
result - [ChildLeave!]!

A paginated list of child leaves.

NOTE: If the next token is not empty, use this as an argument to fetch the next set of child leaves.

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"
}

ChildShare

Description

The fraction of a child's bill for which a bill payer is responsible

Fields
Field Name Description
multiplier - Float! A number between 0.0 and 1.0
Example
{"multiplier": 123.45}

ChildShareInput

Description

Input for the fraction of a child's bill for which a bill payer is responsible

Fields
Input Field Description
multiplier - Float! A number between 0.0 and 1.0
Example
{"multiplier": 123.45}

ChildSharesDeleteInput

Description

Input for deleting bill payer shares

Fields
Input Field Description
childId - ChildId!
billPayerId - BillPayerId!
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

ChildSharesUpdateInput

Description

Input for updating bill payer shares

Fields
Input Field Description
childId - ChildId!
billPayerId - BillPayerId!
share - ChildShareInput
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "share": ChildShareInput
}

ChildUpdate

Description

Input for updating a child

Fields
Input Field Description
childId - ChildId!
name - NameInput!
gender - Gender
birthday - LocalDate
currentGroupId - GroupId!
records - [RecordInput!]!
sensitiveRecords - [RecordInput!]!
sitesRelation - [SiteRelationInput!]!
primaryHomeLanguage - String
externalId - String
diagnosedConditions - ChildDiagnosedConditionsInput
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput,
  "gender": "FEMALE",
  "birthday": "2022-10-07",
  "currentGroupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "records": [RecordInput],
  "sensitiveRecords": [RecordInput],
  "sitesRelation": [SiteRelationInput],
  "primaryHomeLanguage": "xyz789",
  "externalId": "abc123",
  "diagnosedConditions": ChildDiagnosedConditionsInput
}

ChildrenListResult

Description

Represents the paginated result of listing children

Fields
Field Name Description
result - [Child!]!

A paginated list of children.

NOTE: If the next token is not empty, use this as an argument to fetch the next set of children.

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
children - [ChildInput!]!

A children input list to be created

update - [Child!]! After updating children, returns list of them
Arguments
children - [ChildUpdate!]!

A children input list to be updated

delete - [ChildId!]!
Arguments
childIds - [ChildId!]
siteIds - [SiteId!]
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
childIds - [ChildId!]!
groupId - GroupId!
date - LocalDate

Defaults to today if not provided

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
childId - ChildId!
groupId - GroupId!
date - LocalDate!
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 timeRange argument.

Example:

  • Include all children that started before the to date and are either active or left after the from date: { from: "2021-11-01", to: "2021-12-30" }
  • Include all active children and children that left after the from date: { from: "2021-11-01" }

You can expand these time ranges so that you will get all past and future children, e.g. { from: "2000-01-01", to: "2100-01-01" }.

Arguments
siteIds - [SiteId!]!

When provided returns all active children from sites. Use the timeRange argument for more flexibility.

nextToken - ChildCursor

When provided results are paged. Otherwise, full result will be returned

listByChildIds - ChildrenListResult! A paginated list of children based on the provided Child IDs.
Arguments
childIds - [ChildId!]!

When provided returns all requested children.

nextToken - ChildCursor

When provided results are paged. Otherwise, full result will be returned

list - ChildrenListResult! A paginated list of children. Please use listBySiteIds or listByChildIds instead
Arguments
siteIds - [SiteId!]

When provided returns all active children from sites. Mutually exclusive with childIds.

childIds - [ChildId!]

When provided returns all requested children. Mutually exclusive with siteIds.

nextToken - ChildCursor

When provided results are paged. Otherwise, full result will be returned

Example
{
  "listBySiteIds": ChildrenListResult,
  "listByChildIds": ChildrenListResult,
  "list": ChildrenListResult
}

ClosedLocalDateRange

Fields
Input Field Description
from - LocalDate!
to - LocalDate!
Example
{
  "from": "2022-10-07",
  "to": "2022-10-07"
}

ClosedLocalTimeRange

Fields
Input Field Description
from - LocalTime!
to - LocalTime!
Example
{
  "from": "01:08:03.420",
  "to": "01:08:03.420"
}

Contact

Description

Represents a child contact

Fields
Field Name Description
id - ContactId!
name - Name!
email - EmailAddress
address - Address
phoneNumbers - [PhoneNumberType!]!
childIds - [ChildId!]!
profileImage - ProfileImage
roles - [RoleAssignment!]!
roleInvitations - [RoleInvitation!]! A list of all invitations to assume a role in the system send to the contact. Note that invitations expire after a certain period of time after which they won't show up in the list.
emergencyContact - Boolean!
lastModifiedAt - ZonedDateTime! The timestamp at which this contact was last modified. Use this to drive incremental syncs.
records - [Record!]!

Basic child's contact info records.

Currently available are:

  • TITLE
  • RELATION
  • PLACE_OF_WORK
  • OCCUPATION
  • EXTRA_INFO
Arguments
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": Name,
  "email": "example@famly.co",
  "address": Address,
  "phoneNumbers": [PhoneNumberType],
  "childIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ],
  "profileImage": ProfileImage,
  "roles": [RoleAssignment],
  "roleInvitations": [RoleInvitation],
  "emergencyContact": false,
  "lastModifiedAt": "2022-10-07T01:08:03.420+02:00",
  "records": [Record]
}

ContactCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ContactId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ContactInput

Description

Input for creating a contact.

If you add a roles to the contact which does not yet have a login, this will create a login for them.

Supported roles:

  • Parent: d27c12e8-e1bf-4cb6-b10e-def7a83e3350
  • Parent (limited access): d8632ad6-0b47-4479-8f1d-fcb0477ff4db
  • Family: 2a8c1370-3ea7-40e8-9a60-8773bbe66c5e
Fields
Input Field Description
name - NameInput!
email - EmailAddress
address - AddressInput
phoneNumbers - [PhoneInput!]!
records - [RecordInput!]!
childIds - [ChildId!]!
roles - [RoleAssignmentInput!]!
emergencyContact - Boolean
Example
{
  "name": NameInput,
  "email": "example@famly.co",
  "address": AddressInput,
  "phoneNumbers": [PhoneInput],
  "records": [RecordInput],
  "childIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ],
  "roles": [RoleAssignmentInput],
  "emergencyContact": true
}

ContactListResult

Description

Represents the paginated result of listing contacts

Fields
Field Name Description
result - [Contact!]!

A paginated list of children contacts.

NOTE: If the next token is not empty, use this as an argument to fetch the next set of children contacts.

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
childIds - [ChildId!]!

Child ids associated to contacts

nextToken - ContactCursor

When provided results are paged. Otherwise, full result will be returned

Example
{"list": ContactListResult}

ContactRecordKey

Values
Enum Value Description

TITLE

OCCUPATION

RELATION

EXTRA_INFO

PLACE_OF_WORK

Example
"TITLE"

ContactUpdate

Description

Input for updating a contact

Fields
Input Field Description
id - ContactId!
name - NameInput!
email - EmailAddress
address - AddressInput
phoneNumbers - [PhoneInput!]!
records - [RecordInput!]!
roles - [RoleAssignmentInput!]!
emergencyContact - Boolean
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput,
  "email": "example@famly.co",
  "address": AddressInput,
  "phoneNumbers": [PhoneInput],
  "records": [RecordInput],
  "roles": [RoleAssignmentInput],
  "emergencyContact": false
}

ContactUpdateEmail

Fields
Input Field Description
contactId - ContactId!
email - EmailAddress
Example
{
  "contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "email": "example@famly.co"
}

ContactUpdateEmergencyContact

Fields
Input Field Description
contactId - ContactId!
emergencyContact - Boolean
Example
{
  "contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "emergencyContact": true
}

ContactUpdateName

Fields
Input Field Description
contactId - ContactId!
name - NameInput!
Example
{
  "contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput
}

ContactUpdatePhone

Fields
Input Field Description
contactId - ContactId!
phone - [PhoneInput!]!
Example
{
  "contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "phone": [PhoneInput]
}

ContactUpdateRecord

Fields
Input Field Description
contactId - ContactId!
record - [RecordInput!]!
Example
{
  "contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "record": [RecordInput]
}

ContactUpdateRoleId

Fields
Input Field Description
contactId - ContactId!
roleId - RoleId
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb

ContactsMutation

Description

For creating and updating contacts

Fields
Field Name Description
create - [Contact!]! After creating contacts, returns list of them
Arguments
contacts - [ContactInput!]!

A contact input list to be created

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
contacts - [ContactUpdate!]

If provided, updates all fields of the provided contacts

forceAccountsSync - Boolean

Force updating name and address from related accounts, even when feature ENABLE_RESTRICTED_EDITING is enabled

names - [ContactUpdateName!]

Update just the name field

records - [ContactUpdateRecord!]

Update just the record field

roles - [ContactUpdateRoleId!]

Update just the roleId field

emails - [ContactUpdateEmail!]

Update just the email field

phones - [ContactUpdatePhone!]

Update just the phone field

emergencyContacts - [ContactUpdateEmergencyContact!]

Update just the emergencyContact field

Example
{
  "create": [Contact],
  "update": [Contact]
}

ContractedHoursPublic

Fields
Field Name Description
hours - Int!
minutes - Int!
validFrom - LocalDate!
validTo - LocalDate
Example
{
  "hours": 123,
  "minutes": 123,
  "validFrom": "2022-10-07",
  "validTo": "2022-10-07"
}

ContractedHoursPublicInput

Fields
Input Field Description
effectiveDate - LocalDate!
hours - Int!
minutes - Int!
Example
{
  "effectiveDate": "2022-10-07",
  "hours": 987,
  "minutes": 987
}

ContractedHoursPublicMutations

Description

Contracted hours public mutations

Fields
Field Name Description
scheduleChange - ContractedHoursPublicResult! Schedule a change to employee contracted hours. If employee has no contracted hours set, can be used to set new value, as long as it's not in the past. If employee has contracted hours set, can be used to set different value but only if change date is after today.
Arguments
employeeId - EmployeeId!
contractedHoursInput - ContractedHoursPublicInput!
deleteScheduledChange - ContractedHoursPublicResult! Deletes scheduled change for an employee (if any is present).
Arguments
employeeId - EmployeeId!
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
employeeId - EmployeeId!
contractedHoursSaveInput - ContractedHoursSavePublicInput
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
employeeId - EmployeeId!
Example
{"byEmployee": ContractedHoursPublicResult}

ContractedHoursPublicResult

Fields
Field Name Description
current - ContractedHoursPublic
scheduled - ContractedHoursScheduledChangePublic
Example
{
  "current": ContractedHoursPublic,
  "scheduled": ContractedHoursScheduledChangePublic
}

ContractedHoursSavePublicInput

Fields
Input Field Description
hours - Int!
minutes - Int!
Example
{"hours": 987, "minutes": 123}

ContractedHoursScheduledChangePublic

Fields
Field Name Description
hours - Int!
minutes - Int!
date - LocalDate!
Example
{
  "hours": 123,
  "minutes": 987,
  "date": "2022-10-07"
}

CreateCreditNoteOutput

Description

Return the invoice ID and invoice number

Fields
Field Name Description
invoiceId - InvoiceId!
invoiceNumber - String!
Example
{
  "invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "invoiceNumber": "xyz789"
}

CustomRegistrationFormFieldId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

CustomRegistrationFormId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

CustomRegistrationFormPublic

Description

A custom registration form in the public API

Fields
Field Name Description
formId - CustomRegistrationFormId! Id of the custom registration form
formName - String! Name of the custom registration form
formType - CustomRegistrationFormType! The type of the custom registration form (e.g. interest, registration, enrollment)
isPublished - Boolean! Whether the form is currently published
isShared - Boolean! Whether the form is shared with multiple sites
lastEditedAt - ZonedDateTime! When the form was last edited
numberOfSitesSharedWith - Int! Number of sites this form is shared with (including the site it was created for)
siteIds - [SiteId!]! A list of all site ids this form is shared with
numberOfResponses - Int! The number of responses submitted to this form for the sites in the current siteSet context.
Example
{
  "formId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "formName": "xyz789",
  "formType": "FOLLOWUP",
  "isPublished": true,
  "isShared": false,
  "lastEditedAt": "2022-10-07T01:08:03.420+02:00",
  "numberOfSitesSharedWith": 123,
  "siteIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ],
  "numberOfResponses": 123
}

CustomRegistrationFormSectionId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

CustomRegistrationFormType

Values
Enum Value Description

FOLLOWUP

REGISTRATION

ENROLLMENT

ALLABOUTME

INTEREST

Example
"FOLLOWUP"

CustomRegistrationForms

Description

Objects related to viewing custom registration forms

Fields
Field Name Description
listFormsBySiteSetId - CustomRegistrationFormsListResult! Returns a paginated list of all custom registration forms of a given site set. (The default page size is set to 25.) If the option onlyPublished is set to true the result will only contain forms that are currently published. If the option onlyShared is set to true, only forms shared with other sites will be listed. If the option onlySharedWithAll is set to true, only forms that are shared with all current sites and have auto share enabled will be listed. It is further possible to define a sort order for the results. (The default sorting is the date of last edit.)
Arguments
siteSetId - SiteSetId!
onlyPublished - Boolean!
onlyShared - Boolean!
sortOrder - FormSortOrder
next - FormCursor
pageSize - Int
onlySharedWithAll - Boolean!
Example
{
  "listFormsBySiteSetId": CustomRegistrationFormsListResult
}

CustomRegistrationFormsListResult

Description

A paginated list of custom registration forms

Fields
Field Name Description
results - [CustomRegistrationFormPublic!]! A paginated list of custom registration forms
next - FormCursor If this token is not empty, use this as an argument to fetch the next set of forms
Example
{
  "results": [CustomRegistrationFormPublic],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

EmailAddress

Description

A string containing a possibly valid email address

Example
"example@famly.co"

EmailId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

EmailMutations

Description

For sending transactional emails via the public API

Fields
Field Name Description
sendToStaff - SendEmailResult! Send an email to a staff member. Requires the EmailsSend permission for the staff member's site. Rate-limited per API token and per recipient.
Arguments
staffId - EmployeeId!

The Famly ID of the staff member to email

input - SendEmailInput!
sendToContact - SendEmailResult! Send an email to a child's contact. Requires the EmailsSend permission for the contact's child's site. Rate-limited per API token and per recipient.
Arguments
contactId - RelationId!

The Famly ID of the contact to email

input - SendEmailInput!
Example
{
  "sendToStaff": SendEmailResult,
  "sendToContact": SendEmailResult
}

Employee

Description

Someone who works in an institution

Fields
Field Name Description
id - EmployeeId! The Famly ID for the employee
name - Name! The name of the employee
siteId - SiteId! The site this employee works at
groupId - GroupId! The group the employee belongs to
group - Group! The group the employee belongs to
profileImage - ProfileImage The employees profile image
email - EmailAddress The email of the employee
title - String The title of the employee, e.g. 'Temp staff'
birthDate - LocalDate The date of birth for the employee
gender - Gender The gender of the staff member. Null when unspecified, and also null when the caller lacks permission to see it. Unlike child gender, every value is available regardless of the site's country.
phoneNumber - PhoneNumberType The phone number of the employee
address - Address The address of the employee
firstDay - LocalDate! The date the employee starts working
lastDay - LocalDate The last day the employee works at the site
roleId - RoleId The role, if any, granted to this employee
role - EmployeeAssignee The role, if any, granted to this employee Please use roleId instead
customEmployeeId - String Custom ID for an employee, assigned by external system.
employeeWorkDayHours - Float The default work day for this employee in hours.
employeeWorkDayMin - Int The default work day for this employee in minutes.
holidayAllowance - Float The staff members allowance for holidays in minutes per year.
loginId - LoginId The staff members login id.
lastModifiedAt - ZonedDateTime! The timestamp at which this employee was last modified. Use this to drive incremental syncs.
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": Name,
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "group": Group,
  "profileImage": ProfileImage,
  "email": "example@famly.co",
  "title": "abc123",
  "birthDate": "2022-10-07",
  "gender": "FEMALE",
  "phoneNumber": PhoneNumberType,
  "address": Address,
  "firstDay": "2022-10-07",
  "lastDay": "2022-10-07",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "role": EmployeeAssignee,
  "customEmployeeId": "xyz789",
  "employeeWorkDayHours": 987.65,
  "employeeWorkDayMin": 123,
  "holidayAllowance": 123.45,
  "loginId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "lastModifiedAt": "2022-10-07T01:08:03.420+02:00"
}

EmployeeAssignee

Description

An employee at a given institution

Fields
Field Name Description
employeeId - EmployeeId!
person - Person!
institutionSetId - InstitutionSetId!
roleId - RoleId! The ID of the role that has been assigned
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "person": Person,
  "institutionSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

EmployeeAttendanceRecord

Description

Represents an employee attendance record

Fields
Field Name Description
id - EmployeeCheckInId! Checkin Id
employeeId - EmployeeId! Employee id
siteId - SiteId! Site id
groupId - GroupId! Group id
checkinTime - ZonedDateTime! The time the employee checked in
checkoutTime - ZonedDateTime The optional time the employee was checked out
workTag - WorkTagResultResultType
managerNote - ManagerNoteType
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "checkinTime": "2022-10-07T01:08:03.420+02:00",
  "checkoutTime": "2022-10-07T01:08:03.420+02:00",
  "workTag": WorkTagResultResultType,
  "managerNote": ManagerNoteType
}

EmployeeCheckInId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

EmployeeCheckin

Description

Represents an employee checkin

Fields
Field Name Description
result - [EmployeeCheckinResult!]! A paginated list of Employee checkins
next - CheckinCursor If this token is not empty, use this as an argument to fetch the next set of employee checkins
Example
{
  "result": [EmployeeCheckinResult],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

EmployeeCheckinMutations

Description

For creating and updating attendance records for employees

Fields
Field Name Description
createAttendance - EmployeeAttendanceRecord!
Arguments
attendanceInput - AttendanceCreateInputType!
updateAttendance - EmployeeAttendanceRecord!
Arguments
attendanceInput - AttendanceUpdateInputType!
deleteAttendance - Boolean!
Arguments
employeeCheckInId - EmployeeCheckInId!
Example
{
  "createAttendance": EmployeeAttendanceRecord,
  "updateAttendance": EmployeeAttendanceRecord,
  "deleteAttendance": false
}

EmployeeCheckinQueries

Description

For querying checkins for employees

Fields
Field Name Description
list - EmployeeCheckin! Get all checkins
Arguments
SiteSetId - SiteSetId!

Will return child checkins for all sites in this set, including sub-sites if an area or organization is given

range - ClosedLocalDateRange!

Range to find checkins for, the date selection will look for records with the checkinTime within this range.

nextToken - CheckinCursor

When provided results are paged. Otherwise, full result will be returned

Example
{"list": EmployeeCheckin}

EmployeeCheckinResult

Description

Represents a paginated result of employee checkins

Fields
Field Name Description
id - EmployeeCheckInId! Checkin Id
employeeId - EmployeeId! Employee id
siteId - SiteId! Site id
groupId - GroupId! Group id
checkinTime - ZonedDateTime! The time the employee checked in
estimatedCheckoutTime - ZonedDateTime The (optional) expected checkout time of the employee.
checkoutTime - ZonedDateTime The optional time the employee was checked out
workTag - WorkTagResultResultType
managerNote - ManagerNoteType
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "checkinTime": "2022-10-07T01:08:03.420+02:00",
  "estimatedCheckoutTime": "2022-10-07T01:08:03.420+02:00",
  "checkoutTime": "2022-10-07T01:08:03.420+02:00",
  "workTag": WorkTagResultResultType,
  "managerNote": ManagerNoteType
}

EmployeeCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

EmployeeId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

EmployeeInput

Fields
Input Field Description
name - String!
institutionId - InstitutionId!
groupId - GroupId!
email - EmailAddress
title - String
birthDate - LocalDate
phoneNumber - String
address - AddressInput
firstDay - LocalDate!
lastDay - LocalDate
roleId - RoleId
customEmployeeId - String
employeeWorkDayHours - Float
employeeWorkDayMin - Int
holidayAllowance - Float
gender - Gender
Example
{
  "name": "abc123",
  "institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "email": "example@famly.co",
  "title": "abc123",
  "birthDate": "2022-10-07",
  "phoneNumber": "xyz789",
  "address": AddressInput,
  "firstDay": "2022-10-07",
  "lastDay": "2022-10-07",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "customEmployeeId": "xyz789",
  "employeeWorkDayHours": 987.65,
  "employeeWorkDayMin": 987,
  "holidayAllowance": 987.65,
  "gender": "FEMALE"
}

EmployeeLeave

Description

Represents an employee absence

Fields
Field Name Description
leaveId - EmployeeLeaveId! Employee absence ID
employeeId - EmployeeId! Employee ID
siteId - InstitutionId! Site ID
date - LocalDate! Absence date
leaveType - String! Absence type
leaveSubTypeName - String Absence subtype name
leaveSubTypeCode - String Absence subtype code
reason - String Absence reason
startTime - LocalDateTime For hourly absence: start time of an absence
endTime - LocalDateTime For hourly absence: end time of an absence
hours - Float
minutes - Int
deletedAt - LocalDateTime For absences that were deleted: deletion time. Null for active absences.
Example
{
  "leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "leaveType": "xyz789",
  "leaveSubTypeName": "abc123",
  "leaveSubTypeCode": "abc123",
  "reason": "xyz789",
  "startTime": "2022-10-07T01:08:03.420",
  "endTime": "2022-10-07T01:08:03.420",
  "hours": 123.45,
  "minutes": 123,
  "deletedAt": "2022-10-07T01:08:03.420"
}

EmployeeLeaveCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

EmployeeLeaveId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

EmployeeLeaveMutations

Description

For mutating employee absences

Fields
Field Name Description
delete - EmployeeLeaveId! Delete an employee absence by passing it's ID as parameter. The method returns the ID of the absence that has been deleted.
Arguments
employeeLeaveId - EmployeeLeaveId!

The ID of the employee absence to be deleted.

create - [EmployeeLeave!]!

Create an employee absence based on the provided input.

The input must include the following fields:

  • siteId: The ID of the site where the absence is being created.
  • employeeId: The ID of the employee who will be absent.
  • date: The date of the absence.
  • leaveType: The type of absence (e.g., sick, vacation).
  • leaveSubTypeId: The ID of the absence subtype (optional).
  • startTime: The start time of the absence (optional).
  • endTime: The end time of the absence (optional).
  • staffNote: A note visible to the staff member (optional).

The method returns the created employee absence.

Arguments
input - StaffLeaveCreateInputPublicAPI!

The absence to be created

update - [EmployeeLeave!]!

Update an employee absence based on the provided input.

The input must include the following fields:

  • leaveId: The ID of the absence that will be updated.
  • siteId: The ID of the site where the absence is being created.
  • employeeId: The ID of the employee who will be absent.
  • date: The date of the absence.
  • leaveType: The type of absence (e.g., sick, vacation).
  • leaveSubTypeId: The ID of the absence subtype (optional).
  • startTime: The start time of the absence (optional).
  • endTime: The end time of the absence (optional).
  • staffNote: A note visible to the staff member (optional).

The method returns the updated employee absence.

Arguments
input - StaffLeaveUpdateInputPublicAPI!

The absence to be updated

Example
{
  "delete": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "create": [EmployeeLeave],
  "update": [EmployeeLeave]
}

EmployeeLeaveQueries

Description

For querying employee absences

Fields
Field Name Description
listBySiteIds - EmployeeLeavesResult! A paginated list of employees' absences in the given a list of organization, area or institution IDs
Arguments
siteSetIds - [SiteSetId!]!

When provided returns all employee absences from the listed siteSets. You can pass organizationIds, areaIds or siteIds here.

nextToken - EmployeeLeaveCursor

When provided results are paged. Otherwise, full result will be returned

range - ClosedLocalDateRange!

Range for finding absences, the selection will look for records with the date within this range.

createdFrom - LocalDate

Optional starting date of absence creation.

createdTo - LocalDate

Optional end date of absence creation.

Example
{"listBySiteIds": EmployeeLeavesResult}

EmployeeLeavesResult

Description

Represents the paginated result of listing employee absences

Fields
Field Name Description
result - [EmployeeLeave!]!

A paginated list of employee absences.

NOTE: If the next token is not empty, use this as an argument to fetch the next set of employee absences.

next - EmployeeLeaveCursor If this token is not empty, use this as an argument to fetch the next set of employee absences.
Example
{
  "result": [EmployeeLeave],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

EmployeeLimitedInfo

Description

Basic info of an employee

Fields
Field Name Description
id - EmployeeId!
name - Name! The name of the employee
siteId - SiteId! The site this employee works at
profileImage - ProfileImage Employee's profile image
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": Name,
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "profileImage": ProfileImage
}

EmployeeMutations

Description

For managing employees

Fields
Field Name Description
create - [Employee!]! Create one or more employees. Supplying a gender requires permission to see sensitive staff information; without it the call is rejected
Arguments
employees - [EmployeeInput!]!
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
employees - [EmployeeUpdate!]

If provided, updates all fields of the provided employees

names - [EmployeeUpdateName!]

Update just the name field

groups - [EmployeeUpdateGroupId!]

Update just the groupId field

emails - [EmployeeUpdateEmail!]

Update just the email field

titles - [EmployeeUpdateTitle!]

Update just the title field

birthDates - [EmployeeUpdateBirthDate!]

Update just the birthDate field

phones - [EmployeeUpdatePhone!]

Update just the phone field

addresses - [EmployeeUpdateAddress!]

Update just the address field

firstAndLastDays - [EmployeeUpdateRange!]

Update just the range field

firstAndOptionalLastDays - [EmployeeUpdateRangeOpen!]

Update just the rangeOpen field

roles - [EmployeeUpdateRoleId!]

Update just the roleId field

customEmployeeIds - [EmployeeUpdateCustomEmployeeId!]

Update just the customEmployeeId field

employeeWorkDayHours - [EmployeeUpdateEmployeeWorkDayHours!]

Update just the employeeWorkDayHours field

employeeWorkDayMin - [EmployeeUpdateEmployeeWorkDayMin!]

Update just the employeeWorkDayMin field

holidayAllowance - [EmployeeUpdateHolidayAllowance!]

Update just the holidayAllowance field

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
employeeIds - [EmployeeId!]!

limit: 10

Example
{
  "create": [Employee],
  "update": [Employee],
  "delete": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ]
}

EmployeeQueries

Description

For querying employees

Fields
Field Name Description
list - EmployeesResult! List current employees one page at a time, ordered by employee id
Arguments
siteIds - [SiteId!]
siteSetIds - [SiteSetId!]
employeeIds - [EmployeeId!]

limit: 500

emails - [String!]

limit: 500

institutionIds - [InstitutionId!]

DEPRECATED: Please use siteIds

EmployeeIds - [EmployeeId!]

DEPRECATED: Please use employeeIds

includeFuture - Boolean

Include future employees. Defaults to false

includePast - Boolean

Include past employees. Defaults to false

pageSize - Int

Number of employees per page, between 1 and 500. Defaults to 500

next - EmployeeCursor

The next value of the previous page. Omit it to fetch the first page

Example
{"list": EmployeesResult}

EmployeeUpdate

Fields
Input Field Description
employeeId - EmployeeId!
name - String!
groupId - GroupId!
email - EmailAddress
title - String
birthDate - LocalDate
phoneNumber - String
address - AddressInput
firstDay - LocalDate!
lastDay - LocalDate
roleId - RoleId
customEmployeeId - String
employeeWorkDayHours - Float
employeeWorkDayMin - Int
holidayAllowance - Float
gender - Gender
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "abc123",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "email": "example@famly.co",
  "title": "abc123",
  "birthDate": "2022-10-07",
  "phoneNumber": "abc123",
  "address": AddressInput,
  "firstDay": "2022-10-07",
  "lastDay": "2022-10-07",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "customEmployeeId": "xyz789",
  "employeeWorkDayHours": 123.45,
  "employeeWorkDayMin": 987,
  "holidayAllowance": 123.45,
  "gender": "FEMALE"
}

EmployeeUpdateAddress

Fields
Input Field Description
employeeId - EmployeeId!
address - AddressInput
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "address": AddressInput
}

EmployeeUpdateBirthDate

Fields
Input Field Description
employeeId - EmployeeId!
birthDate - LocalDate
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "birthDate": "2022-10-07"
}

EmployeeUpdateCustomEmployeeId

Fields
Input Field Description
employeeId - EmployeeId!
customEmployeeId - String
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb

EmployeeUpdateEmail

Fields
Input Field Description
employeeId - EmployeeId!
email - EmailAddress
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "email": "example@famly.co"
}

EmployeeUpdateEmployeeWorkDayHours

Fields
Input Field Description
employeeId - EmployeeId!
employeeWorkDayHours - Float
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeWorkDayHours": 987.65
}

EmployeeUpdateEmployeeWorkDayMin

Fields
Input Field Description
employeeId - EmployeeId!
employeeWorkDayMin - Int
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeWorkDayMin": 123
}

EmployeeUpdateGroupId

Fields
Input Field Description
employeeId - EmployeeId!
groupId - GroupId!
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb

EmployeeUpdateHolidayAllowance

Fields
Input Field Description
employeeId - EmployeeId!
holidayAllowance - Float
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "holidayAllowance": 123.45
}

EmployeeUpdateName

Fields
Input Field Description
employeeId - EmployeeId!
name - NameInput!
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput
}

EmployeeUpdatePhone

Fields
Input Field Description
employeeId - EmployeeId!
phone - PhoneNumber
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "phone": "+17895551234"
}

EmployeeUpdateRange

Fields
Input Field Description
employeeId - EmployeeId!
range - ClosedLocalDateRange!
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "range": ClosedLocalDateRange
}

EmployeeUpdateRangeOpen

Fields
Input Field Description
employeeId - EmployeeId!
rangeOpen - NonEmptyLocalDateRangeInput!
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "rangeOpen": NonEmptyLocalDateRangeInput
}

EmployeeUpdateRoleId

Fields
Input Field Description
employeeId - EmployeeId!
roleId - RoleId
Example
0c83793f-2ce6-458e-8d08-78d3910bdccb

EmployeeUpdateTitle

Fields
Input Field Description
employeeId - EmployeeId!
title - String
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "abc123"
}

EmployeesResult

Description

One page of employees, ordered by employee id

Fields
Field Name Description
employees - [Employee!]! The employees on this page. A page can hold fewer employees than pageSize, or none at all, and still have a next cursor.
next - EmployeeCursor Pass this as the next argument to fetch the following page. Null on the last page, and the only signal that the walk is over: do not stop on a short or an empty page.
Example
{
  "employees": [Employee],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

EmployeesWithAssignedShiftsPublicType

Fields
Field Name Description
employee - Employee
scheduledMinutes - Int!
assignedShifts - [AssignedShiftsPublicType!]!
Example
{
  "employee": Employee,
  "scheduledMinutes": 123,
  "assignedShifts": [AssignedShiftsPublicType]
}

ErrorReportResponse

Description

Return the invoice ID and indication on whether the error was successfully reported

Fields
Field Name Description
invoiceId - InvoiceId!
success - Boolean!
Example
{
  "invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "success": true
}

ExternalSystemName

Values
Enum Value Description

XERO

Integration with Xero

SAGE_INTACCT

Integration with Sage Intacct

XLEDGER

Integration with XLedger

QUICKBOOKS

Integration with QuickBooks

UNKNOWN

Integration with an unknown system

CUSTOM

Integration with custom systems
Example
"XERO"

File

Description

A media of type file

Fields
Field Name Description
id - FileId!
url - String!
name - String!
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "url": "abc123",
  "name": "abc123"
}

FileId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

FileMutations

Description

For managing files

Fields
Field Name Description
getSignedUrl - FileUpload! Get a signed upload URL and HMAC for uploading files to Famly
Arguments
filename - String

Optional filename to associate with the upload

getSignedUrls - [BatchFileUpload!]! Get a signed upload URL and HMAC for uploading files to Famly for multiple files in one batch
Arguments
filenames - [String!]!

List of filenames to associate with the upload

Example
{
  "getSignedUrl": FileUpload,
  "getSignedUrls": [BatchFileUpload]
}

FileUpload

Description

Data required to make an out-of-band file upload

Fields
Field Name Description
signedUploadUrl - URI! The target URL for a file upload PUT request
hmac - HMAC! HMAC value required for submitting an uploaded file for use
Example
{
  "signedUploadUrl": URI,
  "hmac": HMAC
}

FileUploadInput

Description

Input for submitting an uploaded file for use

Fields
Input Field Description
signedUploadUrl - URI! The previously received file upload URL
hmac - HMAC! The HMAC required to prove the file upload is legitimate
Example
{
  "signedUploadUrl": URI,
  "hmac": HMAC
}

FiscalYear

Values
Enum Value Description

JAN1DEC31

APR1MAR31

JUN1MAY31

MAR1FEB

SEPT1AUG31

NOV1OCT31

AUG1JUL31

OCT1SEPT30

JUL1JUN30

LAST52WEEKS

FEB1JAN31

DEC1NOV30

MAY1APR30

Example
"JAN1DEC31"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

FoodItem

Fields
Field Name Description
title - String!
Example
{"title": "abc123"}

ForeignIdReferenceInput

Description

Foreign ID with foreign system information

Fields
Input Field Description
foreignId - String! Foreign ID
foreignSystem - ForeignSystem Please use system instead
system - String The name of the system where the foreign ID is used
Example
{
  "foreignId": "xyz789",
  "foreignSystem": "KITA_PLANER",
  "system": "xyz789"
}

ForeignSite

Description

Details of the external/foreign system. This is used to link the site to an external system.

Fields
Field Name Description
foreignId - String! The external ID this relates to.
system - String The name of the external system.
Example
{
  "foreignId": "xyz789",
  "system": "abc123"
}

ForeignSystem

Description

Specify the system the foreign ID belongs to. Deprecated

Values
Enum Value Description

KITA_PLANER

UNKNOWN

Example
"KITA_PLANER"

FormCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

FormResponse

Description

Represents a single form response/submission

Fields
Field Name Description
responseId - SubmissionId! The unique identifier of this response
siteName - String! The name of the site where this response was submitted
formName - String! The name of the form
submissionDate - ZonedDateTime! The date and time when this response was submitted
formVersion - Int! The version number of the form that was used for this submission
sections - [FormResponseSection!]! The list of sections in this response
Example
{
  "responseId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteName": "abc123",
  "formName": "abc123",
  "submissionDate": "2022-10-07T01:08:03.420+02:00",
  "formVersion": 987,
  "sections": [FormResponseSection]
}

FormResponseCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

FormResponseField

Description

Represents a single field in a form response

Fields
Field Name Description
fieldId - CustomRegistrationFormFieldId! The unique identifier of the form field
fieldName - String! The human-readable name of the field
fieldType - String! The type of the form field (e.g. TEXT, CHECKBOX, UPLOADER, CUSTOM_UPLOADER)
value - String The field value as a string. For file/uploader fields, this is the file ID. For text fields, HTML content may be preserved.
Example
{
  "fieldId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "fieldName": "abc123",
  "fieldType": "xyz789",
  "value": "xyz789"
}

FormResponseSection

Description

Represents a section in a form response

Fields
Field Name Description
sectionId - CustomRegistrationFormSectionId! The unique identifier of the form section
sectionName - String! The human-readable name of the section
fields - [FormResponseField!]! The list of fields in this section
Example
{
  "sectionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "sectionName": "abc123",
  "fields": [FormResponseField]
}

FormResponses

Description

Paginated form responses

Fields
Field Name Description
responses - [FormResponse!]! The list of form responses
next - FormResponseCursor Cursor for fetching the next page of results, if available
Example
{
  "responses": [FormResponse],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

FormSortOrder

Values
Enum Value Description

Default

ByDateDesc

ByNameDesc

ByDateAsc

ByNameAsc

Example
"Default"

Gender

Values
Enum Value Description

FEMALE

MALE

DIVERSE

Example
"FEMALE"

Group

Description

Represents a physical room in an institution

Fields
Field Name Description
id - GroupId!
title - String!
description - String A plain-text description of the group
institutionId - InstitutionId!
site - InstitutionSet
staffRatio - Float
ordering - Int
profileImage - ProfileImage
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "xyz789",
  "description": "xyz789",
  "institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "site": InstitutionSet,
  "staffRatio": 123.45,
  "ordering": 987,
  "profileImage": ProfileImage
}

GroupId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

GroupInput

Fields
Input Field Description
institutionId - InstitutionId!
title - String!
description - String
Example
{
  "institutionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "abc123",
  "description": "abc123"
}

GroupMove

Fields
Field Name Description
childId - ChildId!
groupId - GroupId!
group - Group!
date - LocalDate!
time - LocalTime This field is not used anymore and will always be empty
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "group": Group,
  "date": "2022-10-07",
  "time": "01:08:03.420"
}

GroupMutations

Description

For managing groups (rooms)

Fields
Field Name Description
create - [Group!]! Create one or more groups
Arguments
groups - [GroupInput!]!
update - [Group!]! Update one or more groups
Arguments
groups - [GroupUpdate!]!
Example
{
  "create": [Group],
  "update": [Group]
}

GroupQueries

Description

For querying groups

Fields
Field Name Description
list - [Group!]! List groups by either GroupId, InstitutionId, or SiteSetId
Arguments
institutionIds - [InstitutionId!]
groupIds - [GroupId!]
siteSetIds - [SiteSetId!]
Example
{"list": [Group]}

GroupUpdate

Fields
Input Field Description
groupId - GroupId!
title - String!
description - String
Example
{
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "xyz789",
  "description": "xyz789"
}

HMAC

Description

A HMAC used to secure a request

Example
HMAC

Image

Description

An image of type media

Fields
Field Name Description
id - ImageId!
secret - ImageSecret!
width - Int!
height - Int!
url - String! Default URL for the image with fixed dimensions 1920x1080 or 1080x1920 based on aspect ratio
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "secret": ImageSecret,
  "width": 987,
  "height": 123,
  "url": "abc123"
}

ImageCrop

Values
Enum Value Description

face

Example
"face"

ImageId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ImageSecret

Fields
Field Name Description
prefix - String!
key - HMAC!
path - String!
expires - ZonedDateTime!
crop - ImageCrop
Example
{
  "prefix": "abc123",
  "key": HMAC,
  "path": "abc123",
  "expires": "2022-10-07T01:08:03.420+02:00",
  "crop": "face"
}

InAppPayment

Description

Represents an In-app payment, either via Stripe or Tax-Free Childcare

Fields
Field Name Description
paymentId - PaymentId!
Possible Types
InAppPayment Types

StripePayment

TaxFreeChildcarePayment

Example
{
  "paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InquiriesCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

InquiriesPaginatedResult

Fields
Field Name Description
results - [ChildInquiry!]!
next - InquiriesCursor
Example
{
  "results": [ChildInquiry],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InquiryAction

Description

Represents a child inquiry action

Fields
Field Name Description
id - InquiryActionId! Inquiry action Id
inquiryId - InquiryId! Inquiry Id
type - InquiryActionType! Inquiry action type
lastUpdatedAt - ZonedDateTime! Last update time of this action
note - String! Note
subject - String! Subject
createdAt - ZonedDateTime! Creation time of this action
due - ZonedDateTime Due time of this action
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "inquiryId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "type": "OTHER",
  "lastUpdatedAt": "2022-10-07T01:08:03.420+02:00",
  "note": "xyz789",
  "subject": "xyz789",
  "createdAt": "2022-10-07T01:08:03.420+02:00",
  "due": "2022-10-07T01:08:03.420+02:00"
}

InquiryActionCreateInput

Fields
Input Field Description
note - String
due - LocalDateTime
type - InquiryActionType!
subject - String
Example
{
  "note": "abc123",
  "due": "2022-10-07T01:08:03.420",
  "type": "OTHER",
  "subject": "xyz789"
}

InquiryActionId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

InquiryActionType

Values
Enum Value Description

OTHER

EMAIL

STATUS_UPDATE

PHONE

QUOTE_SENT

SHOWAROUND

TASK

Example
"OTHER"

InquiryActionUpdateInput

Fields
Input Field Description
note - String
due - LocalDateTime
type - InquiryActionType
subject - String
Example
{
  "note": "abc123",
  "due": "2022-10-07T01:08:03.420",
  "type": "OTHER",
  "subject": "abc123"
}

InquiryBookingSource

Values
Enum Value Description

CHILDCARE_SITE

DIRECT

EMAIL

FACEBOOK

DAYNURSERIES_SITE

PHONE

WEBSITE

Example
"CHILDCARE_SITE"

InquiryGroup

Description

Represents a physical room in an institution in inquiries context

Fields
Field Name Description
id - GroupId! Group ID
siteId - SiteId! Site ID
siteName - String Site title
title - String! Title
description - String Description
profileImage - ProfileImage
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteName": "abc123",
  "title": "abc123",
  "description": "xyz789",
  "profileImage": ProfileImage
}

InquiryId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

InquiryInput

Description

Input for creating a new inquiry

Fields
Input Field Description
name - NameInput!
birthday - LocalDate!
gender - Gender
startDate - LocalDate!
siteId - SiteId!
referenceNumber - ForeignIdReferenceInput
contacts - [ChildInquiryContact!]!
note - String
Example
{
  "name": NameInput,
  "birthday": "2022-10-07",
  "gender": "FEMALE",
  "startDate": "2022-10-07",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "referenceNumber": ForeignIdReferenceInput,
  "contacts": [ChildInquiryContact],
  "note": "abc123"
}

InquiryLostCategory

Values
Enum Value Description

OTHER

CANCELLED_REGISTRATION

MOVED

PRICE

AVAILABILITY

BETTER_FOOD

NO_RESPONSE

BETTER_TEACHING_FRAMEWORK_ELSEWHERE

Example
"OTHER"

InquiryPriority

Values
Enum Value Description

HIGH

MEDIUM

LOW

Example
"HIGH"

InquiryReason

Values
Enum Value Description

MOVED_FROM_ANOTHER_CHILDCARE_SETTING

ELIGIBLE_FOR_FREE_ENTITLEMENT

BACK_TO_WORK

PARENT_ACCESSING_LEARNING

LOOKED_AFTER_CHILD

SIBLINGS_AT_THE_SETTING

OTHER

NEW_EMPLOYMENT

MOVED_FROM_ANOTHER_INTERNAL_SETTING

SOCIAL_INTERACTION

MOVED_BACK

Example
"MOVED_FROM_ANOTHER_CHILDCARE_SETTING"

InquirySortOrder

Values
Enum Value Description

Default

ByStartAsc

ByLastActionDesc

ByCreatedAsc

ByCreatedDesc

ByLastActionAsc

ByStartDesc

Example
"Default"

InquirySource

Values
Enum Value Description

OTHER

CHILDCARE_SITE

FAMILY_INFORMATION_SERVICES

BANNER

LEAFLETS_BROCHURES

LOCAL_AUTHORITY_SIGNPOSTING

DAYNURSERIES_SITE

API_INTEGRATION

SOCIAL_MEDIA

CURRENT_CHILD_ATTENDING

KITA_PLANER

CRM

WORD_OF_MOUTH

STAFF_RECOMMENDATION

HUBSPOT

WatchMeGrow

PARENT_RECOMMENDATION

DAY_NURSERIES

FOREST_SCHOOL_ASSOCIATION

OPEN_DAY_EVENT

LOCAL_PRESS

SEARCH_ENGINE

KinderConnect

PRINT_ADVERT

OTHER_NURSERY

WEBSITE

SIBLING

FLOURISH_CRM

Example
"OTHER"

InquiryStatus

Values
Enum Value Description

WAITING_LIST

LOST

NEW

CONFIRMED

CONTACTED

VIEWED

ENROLLED

Example
"WAITING_LIST"

InquiryUpdateInput

Description

Input for updating an inquiry

Fields
Input Field Description
groupId - GroupId
note - String
status - InquiryStatus
source - InquirySource
bookingSource - InquiryBookingSource
reason - InquiryReason
lostCategory - InquiryLostCategory
lostReason - String
bookingNote - String
priority - InquiryPriority
Example
{
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "note": "abc123",
  "status": "WAITING_LIST",
  "source": "OTHER",
  "bookingSource": "CHILDCARE_SITE",
  "reason": "MOVED_FROM_ANOTHER_CHILDCARE_SETTING",
  "lostCategory": "OTHER",
  "lostReason": "xyz789",
  "bookingNote": "abc123",
  "priority": "HIGH"
}

InstitutionId

Description

A string containing a 36 character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

InstitutionPosition

Fields
Field Name Description
latitude - Float!
longitude - Float!
Example
{"latitude": 123.45, "longitude": 123.45}

InstitutionSet

Fields
Field Name Description
institutionSetId - InstitutionSetId!
title - String!
profileImage - ProfileImage
siteType - String!
Example
{
  "institutionSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "abc123",
  "profileImage": ProfileImage,
  "siteType": "abc123"
}

InstitutionSetId

Description

A string containing a 36 character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

InvalidRoleInvitation

Fields
Field Name Description
error - String!
roleInvitationId - RoleInvitationId!
roleTitle - String!
roleId - RoleId!
verification - RoleInvitationVerification!
siteTitle - String!
privacyPolicyLink - String
Example
{
  "error": "xyz789",
  "roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "roleTitle": "xyz789",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "verification": RoleInvitationVerification,
  "siteTitle": "abc123",
  "privacyPolicyLink": "xyz789"
}

Invoice

Fields
Field Name Description
invoiceId - InvoiceId!
title - String
total - BadMoney!
invoiceDate - LocalDate!
dueDate - LocalDate!
billPayerId - BillPayerId!
lines - [InvoiceLines!]!
items - [InvoiceItem!]! The individual items (sessions, products, discounts, surcharges, and public funding) comprising the invoice
pdfResult - InvoicePdfResultType
invoiceNumber - String!
creditStatus - InvoiceCreditStatus
Example
{
  "invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "xyz789",
  "total": BadMoney,
  "invoiceDate": "2022-10-07",
  "dueDate": "2022-10-07",
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "lines": [InvoiceLines],
  "items": [InvoiceItem],
  "pdfResult": InvoicePdfSuccessType,
  "invoiceNumber": "abc123",
  "creditStatus": InvoiceStatusIsCreditNote
}

InvoiceCreditStatus

Description

Whether an invoice is a credit note for another invoice, or is credited by an invoice

Example
InvoiceStatusIsCreditNote

InvoiceCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

InvoiceId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

InvoiceInput

Description

Input for creating an invoice

Fields
Input Field Description
billPayer - BillPayerReferenceInput! Reference for bill payer
invoiceNumber - Int! The invoice number. Must be positive and unique within an organization; if a site is not part of an organization, must be unique for the site.
invoiceDate - LocalDate! The invoice date
dueDate - LocalDate! The invoice due date
note - String A free-text note on the invoice
lines - [InvoiceLinesInput!]! The invoice line items
pdf - FileUploadInput The invoice PDF upload URL and HMAC
Example
{
  "billPayer": BillPayerReferenceInput,
  "invoiceNumber": 123,
  "invoiceDate": "2022-10-07",
  "dueDate": "2022-10-07",
  "note": "xyz789",
  "lines": [InvoiceLinesInput],
  "pdf": FileUploadInput
}

InvoiceItem

Description

An item on an invoice (sessions and products from plans or purchases, plan discounts, plan surcharges, purchase discounts, or public funding)

Fields
Field Name Description
type - String! The type of the item. Expected values are 'SESSION', 'PRODUCT', 'VIRTUAL_PRODUCT', 'DISCOUNT', 'SURCHARGE', 'PUBLIC_FUNDING', or 'MISSING_DATA'
title - String! The user-given title of the item
childId - ChildId The ID of the child that the item is for
amount - BadMoney The subtotal of the item. The amounts of all the non-excluded items in an invoice add up to its total. Use subtotal instead.
subtotal - BadMoney The subtotal of the item. The subtotals of all the non-excluded items in an invoice add up to its total.
total - BadMoney The total of the item.
account - AccountType A financial/ledger account associated with the item, or a default for the item type/in general
period - InvoicePeriod! The period the item covers, e.g. the dates a session or product booking spans
sessionId - SessionId The ID of the session this item is a booking for, if it is one
productId - ProductId The ID of the product/extra charge this item is a booking for, if it is one
Example
{
  "type": "xyz789",
  "title": "xyz789",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "amount": BadMoney,
  "subtotal": BadMoney,
  "total": BadMoney,
  "account": AccountType,
  "period": InvoicePeriod,
  "sessionId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "productId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InvoiceLines

Description

The lines that make up an invoice

Fields
Field Name Description
type - String!
childId - ChildId
info - String
amount - BadMoney
account - AccountType A financial/ledger account
period - InvoicePeriod The period the line covers. Null for custom lines that have no period.
Example
{
  "type": "abc123",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "info": "abc123",
  "amount": BadMoney,
  "account": AccountType,
  "period": InvoicePeriod
}

InvoiceLinesInput

Description

Input for creating invoice lines. Currently supports only creation of custom lines.

Fields
Input Field Description
childId - ChildId The child associated with the invoice line
info - String! A description of what the line is for
amount - BadMoney! The amount the line is for
accountId - AccountId The account ID to associate with the line
Example
{
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "info": "abc123",
  "amount": BadMoney,
  "accountId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InvoiceListingResult

Fields
Field Name Description
result - [Invoice!]!
next - InvoiceCursor
Example
{
  "result": [Invoice],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InvoiceMutations

Description

For managing invoices

Fields
Field Name Description
create - [Invoice!]! Create invoices using the provided invoice line items.
Arguments
invoices - [InvoiceInput!]!

The invoice information to create

setPdf - SetPdfResult! Associate an uploaded PDF with the given invoice, replacing any existing PDF.
Arguments
invoiceReference - InvoiceReference!

A reference to the invoice to be updated

fileUpload - FileUploadInput!

A reference to the uploaded file

reportError - ErrorReportResponse! Report an error message for an invoice from an external party
Arguments
invoiceReference - InvoiceReference!

A reference to the invoice that had errors

occurredAt - ZonedDateTime

The time when the error occurred

message - String!

The error message

createCreditNote - CreateCreditNoteOutput! Create credit note for an invoice
Arguments
invoiceId - InvoiceId!

An id of the invoice to be updated

creditDate - LocalDate

The time when the credit occurred

Example
{
  "create": [Invoice],
  "setPdf": SetPdfResult,
  "reportError": ErrorReportResponse,
  "createCreditNote": CreateCreditNoteOutput
}

InvoicePdfFailedType

Description

Invoice PDF creation failed

Fields
Field Name Description
errors - [String!]!
Example
{"errors": ["abc123"]}

InvoicePdfResultType

Description

The result of Invoice PDF creation

Example
InvoicePdfSuccessType

InvoicePdfSuccessType

Description

Invoice PDF creation succeeded

Fields
Field Name Description
succeeded - Boolean!
Example
{"succeeded": true}

InvoicePeriod

Description

A date period, with both ends inclusive

Fields
Field Name Description
from - LocalDate! The first date of the period
to - LocalDate! The last date of the period (inclusive)
Example
{
  "from": "2022-10-07",
  "to": "2022-10-07"
}

InvoiceQueries

Description

For querying invoice data

Fields
Field Name Description
listBySiteIds - InvoiceListingResult! A paginated list of invoices.
Arguments
siteIds - [SiteId!]!
nextToken - InvoiceCursor
createdDateRange - NonEmptyLocalDateRangeInput

Filter by creation date (inclusive)

invoiceDateRange - NonEmptyLocalDateRangeInput

Filter by invoice date (inclusive)

listByInvoiceIds - [Invoice!]!
Arguments
invoiceIds - [InvoiceId!]!

The IDs of the invoices to fetch data for

Example
{
  "listBySiteIds": InvoiceListingResult,
  "listByInvoiceIds": [Invoice]
}

InvoiceRecipient

Description

An invoice recipient

Fields
Field Name Description
relationId - RelationId! Uniquely identifies a child's contact person in Famly Use the equivalent contactId field instead.
contactId - ContactId! Uniquely identifies a child's contact person in Famly
billPayerId - BillPayerId!
name - String!
email - EmailAddress
Example
{
  "relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "contactId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789",
  "email": "example@famly.co"
}

InvoiceRecipientDeleteInput

Description

Input for deleting an invoice recipient. billPayerId and relationId are always required.

Fields
Input Field Description
relationId - RelationId!
billPayerId - BillPayerId!
Example
{
  "relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InvoiceRecipientDeleteResult

Fields
Field Name Description
billPayerId - BillPayerId!
relationId - RelationId! Uniquely identifies a child's contact person in Famly
Example
{
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InvoiceRecipientInput

Description

Input for creating an invoice recipient. relationId is required when creating an invoice recipient from an existing contact/relation. childId, name, and email are required when creating an invoice recipient without an existing contact/relation. billPayerId is always required when adding invoice recipients for existing bill payers.

Fields
Input Field Description
relationId - RelationId
billPayerId - BillPayerId
childId - ChildId
name - NameInput
email - ValidEmailAddress
Example
{
  "relationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "billPayerId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": NameInput,
  "email": "example@famly.co"
}

InvoiceReference

Description

Details for referencing a specific invoice in Famly

Fields
Input Field Description
invoiceId - InvoiceId
externalId - String
siteId - SiteId
tags - [ReferenceTag!]!
Example
{
  "invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "externalId": "abc123",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "tags": [ReferenceTag]
}

InvoiceStatusIsCreditNote

Description

This invoice is a credit note crediting another invoice

Fields
Field Name Description
credits - InvoiceId!
Example
{
  "credits": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

InvoiceStatusIsCredited

Description

This invoice is credited by a credit note invoice

Fields
Field Name Description
creditedBy - InvoiceId!
Example
{
  "creditedBy": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

LeaveBalancesMutations

Description

For modifying leave balances

Fields
Field Name Description
setEmployeeBalanceOverride - Float
Arguments
employeeId - EmployeeId!

ID of an employee for which leave balance is changed

leaveType - StaffLeaveType!

Leave type for which leave balance is changed

balance - Float

Balance value. If not set, balance will be cleared.

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
employeeId - EmployeeId!

ID of an employee for which leave balances are queried

balanceOverrideByEmployeeAndLeaveType - StaffLeaveBalance! Get single leave balance override for an employee.
Arguments
employeeId - EmployeeId!

ID of an employee for which leave balance is queried

leaveType - StaffLeaveType!

Leave type for which leave balance is queried

Example
{
  "balanceOverridesByEmployee": [StaffLeaveBalance],
  "balanceOverrideByEmployeeAndLeaveType": StaffLeaveBalance
}

LeaveMinutesPublicType

Fields
Field Name Description
paid - Int!
sick - Int!
childSick - Int!
holiday - Int!
absent - Int!
Example
{"paid": 123, "sick": 987, "childSick": 987, "holiday": 987, "absent": 123}

LeavesMutations

Description

For mutating absences for children and employees

Fields
Field Name Description
employees - EmployeeLeaveMutations! For mutating employee absences
Example
{"employees": EmployeeLeaveMutations}

LeavesQueries

Description

For querying absences for children and employees

Fields
Field Name Description
employees - EmployeeLeaveQueries! For querying employee absences
children - ChildLeavesQueries! For querying child leaves
Example
{
  "employees": EmployeeLeaveQueries,
  "children": ChildLeavesQueries
}

ListRolesResult

Description

A paginated list of roles

Fields
Field Name Description
next - RoleCursor
roles - [Role!]!
Example
{
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "roles": [Role]
}

LocalDate

Description

A string containing a local date in the ISO-8601 format, e.g. YYYY-MM-DD

Example
"2022-10-07"

LocalDateTime

Description

A string containing a local date time in the ISO-8601 format, e.g. 'YYYY-MM-DDTHH:mm:ss'

Example
"2022-10-07T01:08:03.420"

LocalTime

Description

A string containing a local time in ISO format, i.e. HH:MM:SS. Example: 10:15:36.

Example
"01:08:03.420"

LoginId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ManagerNoteType

Fields
Field Name Description
note - String! Manager note content
updatedBy - String Name of the user who last updated manager note
updatedAt - ZonedDateTime Time when manager note was last updated
Example
{
  "note": "abc123",
  "updatedBy": "abc123",
  "updatedAt": "2022-10-07T01:08:03.420+02:00"
}

MealPlan

Description

Meal plan information

Fields
Field Name Description
siteId - SiteId! The site for the meal plan
mealPlanId - MealPlanId! ID of the meal plan
date - LocalDate! Meal plan day
meals - [MealTypeItems!]! The meals on this day
images - [Image!]! Images attached to the meal plan
files - [File!]! Files attached to the meal plan
Example
{
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "mealPlanId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "meals": [MealTypeItems],
  "images": [Image],
  "files": [File]
}

MealPlanCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

MealPlanId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

MealPlanQueries

Description

For querying meal plans

Fields
Field Name Description
list - MealPlanResult! List the default meal plans for the current and coming week, unless additional filters are provided
Arguments
after - MealPlanCursor

Provide the cursor when querying paginated results

siteIds - [SiteId!]!
firstDay - LocalDate

Start date of the meal plans. Defaults to Monday of the current week (with the week starting on Monday)

lastDay - LocalDate

End date of the meal plans. Defaults to two weeks after the start date

first - Int

Results for a maximum number of 'first' site ID is returned before pagination (default and max.: 100)

Example
{"list": MealPlanResult}

MealPlanResult

Description

Meal plan results with pagination

Fields
Field Name Description
next - MealPlanCursor
result - [MealPlan!]! The meal plan data for each day
Example
{
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "result": [MealPlan]
}

MealQueries

Description

For querying meals

Fields
Field Name Description
planned - MealPlanQueries! For querying meal plans
Example
{"planned": MealPlanQueries}

MealTypeItems

Description

Meal information

Fields
Field Name Description
mealType - PublicMealType! Meal type information
mealItems - [FoodItem!]! Meal items
Example
{
  "mealType": PublicMealType,
  "mealItems": [FoodItem]
}

MovedInvoice

Description

Moved invoice object

Fields
Field Name Description
invoiceId - InvoiceId!
Example
{
  "invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

MovedInvoicesAndPayments

Description

An object containing a list of invoices and a list of payments

Fields
Field Name Description
invoices - [MovedInvoice!]!
payments - [MovedPayment!]!
Example
{
  "invoices": [MovedInvoice],
  "payments": [MovedPayment]
}

MovedPayment

Description

Moved payment object

Fields
Field Name Description
paymentId - PaymentId!
Example
{
  "paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

Name

Description

A person's name

Fields
Field Name Description
firstName - String!
middleName - String
lastName - String
fullName - String!
shortName - String! First name plus the initial of the last name (e.g. "Ada L."); falls back to the middle initial, or just the first name. A privacy-preserving short display form.
Example
{
  "firstName": "xyz789",
  "middleName": "xyz789",
  "lastName": "xyz789",
  "fullName": "abc123",
  "shortName": "abc123"
}

NameInput

Description

A string representing name of a user

Example
NameInput

NoVerification

Fields
Field Name Description
verificationMethod - RoleInvitationVerificationMethod!
Example
{"verificationMethod": "DATE_OF_BIRTH"}

NonEmptyLocalDateRangeInput

Fields
Input Field Description
from - LocalDate!
to - LocalDate
Example
{
  "from": "2022-10-07",
  "to": "2022-10-07"
}

NonEmptyLocalDateTimeRangeInput

Fields
Input Field Description
from - LocalDateTime!
to - LocalDateTime
Example
{
  "from": "2022-10-07T01:08:03.420",
  "to": "2022-10-07T01:08:03.420"
}

NotifiableIllness

Values
Enum Value Description

HEAD_LICE

WHOOPING_COUGH

SALMONELLOSIS

PLAGUE

POLIOMYELITIS

NOT_NOTIFIABLE

IMPETIGO_CONTAGIOSA

HEPATITIS_E

SHIGELLOSIS

INFECTIOUS_GASTROENTERITIS

VARICELLA

VIRAL_HAEMORRHAGIC_FEVER

MEASLES

SCABIES

RUBELLA

DIPHTHERIA

MENINGOCOCCAL_DISEASE

MPOX

CHOLERA

ECOLI_EHEC

INFLUENZA

HAEMOPHILUS_INFLUENZAE_B

TYPHOID

PARATYPHOID

TUBERCULOSIS

NOROVIRUS

HEPATITIS_A

SCARLET_FEVER

MUMPS

Example
"HEAD_LICE"

NotifiableIllnessWithLabel

Fields
Field Name Description
name - NotifiableIllness!
label - String!
Example
{"name": "HEAD_LICE", "label": "xyz789"}

OpenShiftsPublicType

Fields
Field Name Description
date - LocalDate!
shifts - [ShiftPublicType!]!
Example
{
  "date": "2022-10-07",
  "shifts": [ShiftPublicType]
}

OpeningHours

Example
{
  "monday": TimeRangeClosedLocalTime,
  "tuesday": TimeRangeClosedLocalTime,
  "wednesday": TimeRangeClosedLocalTime,
  "thursday": TimeRangeClosedLocalTime,
  "friday": TimeRangeClosedLocalTime,
  "saturday": TimeRangeClosedLocalTime,
  "sunday": TimeRangeClosedLocalTime
}

OrganizationId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

Payment

Description

Details for a specific payment

Fields
Field Name Description
id - PaymentId!
amount - BadMoney!
childId - ChildId
paymentMethod - PaymentMethod!
note - String!
refundReason - String The code of the predefined reason this refund was registered under, for example GOODWILL. null when the payment is not a refund, when the refund predates the reason list, or when the site is not entitled to refund reasons.
paymentDate - LocalDate!
createdAt - ZonedDateTime!
deletedAt - ZonedDateTime The time at which this payment was deleted (UTC). null if the payment is not deleted.
transactionStatus - TransactionStatus!
billPayer - BillPayerSummary!
currency - String!
viaFamlyPay - Boolean! Indicates if the payment was made via In-app Payments (formerly known as Famly Pay). If true, inAppPayment will contain further details.
inAppPayment - InAppPayment Details of the In-app payment, if applicable.
isDeposited - Boolean!
depositDate - LocalDate
depositId - String
invoices - [PaymentInvoiceRelation!]!
externalSystem - PaymentExternalSystem
metadata - [PaymentMetadata!] Metadata attached to the payment.
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "amount": BadMoney,
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "paymentMethod": "GovernmentGrant",
  "note": "abc123",
  "refundReason": "xyz789",
  "paymentDate": "2022-10-07",
  "createdAt": "2022-10-07T01:08:03.420+02:00",
  "deletedAt": "2022-10-07T01:08:03.420+02:00",
  "transactionStatus": "PENDING",
  "billPayer": BillPayerSummary,
  "currency": "abc123",
  "viaFamlyPay": false,
  "inAppPayment": InAppPayment,
  "isDeposited": false,
  "depositDate": "2022-10-07",
  "depositId": "xyz789",
  "invoices": [PaymentInvoiceRelation],
  "externalSystem": PaymentExternalSystem,
  "metadata": [PaymentMetadata]
}

PaymentCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

PaymentDeleteResult

Description

Result of delete operation

Fields
Field Name Description
id - PaymentId!
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

PaymentExternalSystem

Description

Details of the external system for a specific payment

Fields
Field Name Description
id - String! The external ID this payment relates to.
system - ExternalSystemName! The name of the external system this payment relates to, or 'CUSTOM' if it is a custom integration.
name - String The name of the custom integration. Only relevant if system is set to CUSTOM.
externalType - String The type associated with the payment in the external system.
Example
{
  "id": "abc123",
  "system": "XERO",
  "name": "xyz789",
  "externalType": "xyz789"
}

PaymentExternalSystemInput

Description

Input for details of the external system for a specific payment

Fields
Input Field Description
id - String! The external ID this payment relates to.
system - ExternalSystemName! The name of the external system this payment relates to, or 'CUSTOM' if it is a custom integration.
name - String The name of the custom integration. Only relevant if system is set to CUSTOM.
Example
{
  "id": "xyz789",
  "system": "XERO",
  "name": "abc123"
}

PaymentId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

PaymentInput

Description

Data provided to register a payment in Famly

Fields
Input Field Description
billPayer - BillPayerReferenceInput! A reference to the bill payer the payment is registered for.
externalId - String Deprecated: Please use externalSystem instead.
externalSystem - PaymentExternalSystemInput The external system this payment relates to.
externalBillPayerReferences - [PaymentExternalSystemInput!] The external system this bill payer relates to.
amount - BadMoney!
childId - ChildId The child this payment relates to, if any.
paymentMethod - PaymentMethod! The payment method used to make the payment.
note - String! A note to put on the payment (hidden from parents).
paymentDate - LocalDate! The date the payment was made on.
invoiceIds - [InvoiceId!] The ids of invoices to link the payment to. Each invoice must belong to the same bill payer as the payment and must not be a credit note. Duplicate ids are ignored. A payment can be linked to at most 50 invoices.
metadata - [PaymentMetadataInput!] Metadata to attach to the payment.
Example
{
  "billPayer": BillPayerReferenceInput,
  "externalId": "abc123",
  "externalSystem": PaymentExternalSystemInput,
  "externalBillPayerReferences": [
    PaymentExternalSystemInput
  ],
  "amount": BadMoney,
  "childId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "paymentMethod": "GovernmentGrant",
  "note": "xyz789",
  "paymentDate": "2022-10-07",
  "invoiceIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ],
  "metadata": [PaymentMetadataInput]
}

PaymentInvoiceRelation

Description

Invoices related to a payment

Fields
Field Name Description
invoiceId - InvoiceId!
Example
{
  "invoiceId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

PaymentListingResult

Fields
Field Name Description
result - [Payment!]!
next - PaymentCursor
Example
{
  "result": [Payment],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

PaymentMetadata

Description

Metadata attached to the payment

Fields
Field Name Description
key - String!
value - String!
Example
{
  "key": "abc123",
  "value": "xyz789"
}

PaymentMetadataInput

Description

Metadata to attach to the payment

Fields
Input Field Description
key - String! The key of the metadata
value - String! The value of the metadata
Example
{
  "key": "abc123",
  "value": "abc123"
}

PaymentMethod

Values
Enum Value Description

GovernmentGrant

Voucher

BankTransfer

WriteOff

SEPA

Other

TaxFreeChildcare

CreditCard

ACH

DebitCard

DirectDebit

Cheque

Payroll

Cash

Adjustment

Example
"GovernmentGrant"

PaymentMutations

Description

For managing payments

Fields
Field Name Description
create - [Payment!]! Register new payments with the provided details.
Arguments
payments - [PaymentInput!]!
update - [Payment!]! Update existing payments with the provided details.
Arguments
delete - [PaymentDeleteResult!]! Delete payments.
Arguments
paymentIds - [PaymentId!]!
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
siteIds - [SiteId!]!
nextToken - PaymentCursor
createdDateRange - NonEmptyLocalDateRangeInput

Filter by creation date (inclusive)

paymentDateRange - NonEmptyLocalDateRangeInput

Filter by payment date (inclusive)

pageSize - Int

Number of items to return per page (default: 50, max: 500)

includeDeleted - Boolean!

Whether to include deleted payments. Defaults to false.

Example
{"listBySiteIds": PaymentListingResult}

PaymentUpdateInput

Description

Data provided to update a payment in Famly

Fields
Input Field Description
paymentId - PaymentId! ID for payment to be updated
amount - BadMoney!
paymentMethod - PaymentMethod! The payment method used to make the payment.
note - String! A note to put on the payment (hidden from parents).
paymentDate - LocalDate! The date the payment was made on.
metadata - [PaymentMetadataInput!] Metadata to attach to the payment. The new metadata will be merged with any existing metadata. If a key already exists, its value will be updated. If a key's value is empty, it will be removed. If metadata is missing altogether, it will be removed.
Example
{
  "paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "amount": BadMoney,
  "paymentMethod": "GovernmentGrant",
  "note": "xyz789",
  "paymentDate": "2022-10-07",
  "metadata": [PaymentMetadataInput]
}

PaymentsSourceStatus

Description

Determines whether a source can be used for payments

Values
Enum Value Description

READY

This payments source can be used to make payments

PENDING

This payments source is pending validation

DISABLED

This payments source is temporarily disabled

INVALID

This payments source is invalid for use

FAILED

This payment source failed to authorize
Example
"READY"

PaymentsSourceType

Description

The type of entity this payments source represents

Values
Enum Value Description

DEBIT_CARD

Debit Card

CREDIT_CARD

Credit Card

BACS

Bacs Direct Debit

ACH

ACH

SEPA

SEPA

ACSS

ACSS

TAX_FREE_CHILDCARE

Tax-Free Childcare
Example
"DEBIT_CARD"

Person

Fields
Field Name Description
name - Name!
id - LoginId The Famly ID for the person
profileImage - ProfileImage
Example
{
  "name": Name,
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "profileImage": ProfileImage
}

PhoneInput

Description

Input for a contact phone

Fields
Input Field Description
value - PhoneNumber!
phoneType - PhoneType!
Example
{
  "value": "+17895551234",
  "phoneType": "MOBILE"
}

PhoneNumber

Description

A string containing a possibly valid phone number

Example
"+17895551234"

PhoneNumberType

Description

A phone number that may or may not be valid

Fields
Field Name Description
value - String!
phoneType - PhoneType
formatted - String
Example
{
  "value": "xyz789",
  "phoneType": "MOBILE",
  "formatted": "abc123"
}

PhoneType

Values
Enum Value Description

MOBILE

HOME

WORK

Example
"MOBILE"

ProductId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ProfileImage

Description

A profile image

Fields
Field Name Description
url - String!
Arguments
resolution - Int

Defaults to 100. Use this to specify a resolution.

Example
{"url": "abc123"}

PublicMealType

Description

Meal type information

Fields
Field Name Description
title - String!
order - Int!
Example
{"title": "abc123", "order": 987}

ReasonForLeaving

Description

Represents a reason a child leaves a site.

Fields
Field Name Description
id - ReasonForLeavingId!
name - String!
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789"
}

ReasonForLeavingId

Description

A string containing a 26-character Universally Unique Lexicographically Sortable Identifier

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

Record

Fields
Field Name Description
key - String!
value - String!
Example
{
  "key": "xyz789",
  "value": "xyz789"
}

RecordInput

Description

Input for creating a record

Fields
Input Field Description
key - String!
value - String!
Example
{
  "key": "xyz789",
  "value": "abc123"
}

ReferenceTag

Description

Tag for identifying a specific site

Fields
Input Field Description
key - String!
value - String!
Example
{
  "key": "xyz789",
  "value": "abc123"
}

RelationId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

Role

Description

A role and its granted/locked permissions

Fields
Field Name Description
roleId - RoleId!
title - String!
locked - Boolean! Whether this role can be edited
source - RoleSource!
target - RoleTarget!
siteSetIds - [SiteSetId!]!
createdAt - ZonedDateTime!
Example
{
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "abc123",
  "locked": false,
  "source": "ORGANIZATION_PERSON",
  "target": "ORGANIZATION",
  "siteSetIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ],
  "createdAt": "2022-10-07T01:08:03.420+02:00"
}

RoleAssignee

Description

A login assigned to a specific role

Fields
Field Name Description
person - Person! A generic representation of the assignee
roleId - RoleId! The ID of the role that has been assigned
institutionSetId - InstitutionSetId!
Possible Types
RoleAssignee Types

EmployeeAssignee

Example
{
  "person": Person,
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "institutionSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

RoleAssignment

Description

A role assignment

Fields
Field Name Description
role - Role!
targetId - UniqueId!
Example
{
  "role": Role,
  "targetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

RoleAssignmentInput

Description

Input for role assignment

Fields
Input Field Description
roleId - RoleId!
targetId - UniqueId!
Example
{
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "targetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

RoleCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

RoleId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

RoleInvitation

Description

Represents an invitation to take on a Role within the application

Fields
Field Name Description
roleInvitationId - RoleInvitationId!
roleTitle - String!
roleId - RoleId!
verification - RoleInvitationVerification!
siteTitle - String!
privacyPolicyLink - String
Possible Types
RoleInvitation Types

ChildContactRoleInvitation

InvalidRoleInvitation

Example
{
  "roleInvitationId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "roleTitle": "xyz789",
  "roleId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "verification": RoleInvitationVerification,
  "siteTitle": "abc123",
  "privacyPolicyLink": "xyz789"
}

RoleInvitationId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

RoleInvitationVerification

Description

Represents the verification steps necessary to accept a RoleInvitation

Fields
Field Name Description
verificationMethod - RoleInvitationVerificationMethod!
Possible Types
RoleInvitationVerification Types

ChildDateOfBirthVerification

NoVerification

Example
{"verificationMethod": "DATE_OF_BIRTH"}

RoleInvitationVerificationMethod

Values
Enum Value Description

DATE_OF_BIRTH

FULL_NAME

NO_VERIFICATION

Example
"DATE_OF_BIRTH"

RoleSource

Values
Enum Value Description

ORGANIZATION_PERSON

EMPLOYEE

RELATION

LOGIN

Example
"ORGANIZATION_PERSON"

RoleTarget

Description

The object a role is granted for

Values
Enum Value Description

ORGANIZATION

INSTITUTION

EMPLOYEE

CHILD

Example
"ORGANIZATION"

Roles

Description

Objects related to viewing roles and permissions

Fields
Field Name Description
list - ListRolesResult!
Arguments
siteSetIds - [SiteSetId!]

If not provided, all the roles you have access to will be returned

first - Int!
next - RoleCursor
roleIds - [RoleId!]
Example
{"list": ListRolesResult}

SendEmailInput

Description

Body of an email to send.

Fields
Input Field Description
subject - String! Subject line
plainText - String! Plain-text body (required; used as spam-score fallback)
html - String Optional HTML body. If omitted, an HTML body is derived from plainText with HTML-escaping.
useTemplate - Boolean! If true, wrap the HTML with Famly's branded email template. If false, send the HTML as-is.
locale - String Optional BCP-47 language tag (e.g. en-GB). Defaults to the recipient's site/child locale.
Example
{
  "subject": "abc123",
  "plainText": "xyz789",
  "html": "xyz789",
  "useTemplate": false,
  "locale": "abc123"
}

SendEmailResult

Description

The result of a send-email mutation

Fields
Field Name Description
emailId - EmailId! The identifier of the queued email. Can be used to correlate with delivery status.
Example
{
  "emailId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

SensitiveChildRecordKey

Values
Enum Value Description

DOCTOR_ADDRESS_STATE

DENTIST_ADDRESS_CITY

TOLERATES_PENICILLIN

DOCTOR_ADDRESS_STREET

ETHNICITY

DENTIST_NAME

DOCTOR_ADDRESS_POST_CODE

VACCINES

DENTIST_PHONE

DENTIST_ADDRESS_COUNTRY

DOCTOR_NAME

DOCTOR_ADDRESS_CITY

DENTIST_ADDRESS_POST_CODE

RACE

SPECIAL_DIETARY_CONSIDERATIONS

DENTIST_ADDRESS_STATE

ALLERGY

RELIGION

DOCTOR_ADDRESS_COUNTRY

SPECIAL_NOTES

DENTIST_ADDRESS_STREET

DOCTOR_PHONE

Example
"DOCTOR_ADDRESS_STATE"

SessionId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

SetPdfResult

Description

The outcome of setting the PDF for an invoice

Fields
Field Name Description
success - Boolean!
Example
{"success": false}

ShiftId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ShiftMutationPublicResultType

Fields
Field Name Description
shift - ShiftPublicResultType!
Example
{"shift": ShiftPublicResultType}

ShiftPlannerByGroupPublicType

Fields
Field Name Description
groups - [ShiftsByGroupPublicType!]!
Example
{"groups": [ShiftsByGroupPublicType]}

ShiftPlannerByGroupsCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ShiftPlannerByGroupsFilterV2

Fields
Input Field Description
groupIds - [GroupId!]!
Example
{
  "groupIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ]
}

ShiftPlannerByGroupsPublicResult

Fields
Field Name Description
result - ShiftPlannerByGroupPublicType!
next - ShiftPlannerByGroupsCursor
Example
{
  "result": ShiftPlannerByGroupPublicType,
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

ShiftPlannerByStaffCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ShiftPlannerByStaffFilter

Fields
Input Field Description
employeeIds - [EmployeeId!]!
Example
{
  "employeeIds": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ]
}

ShiftPlannerByStaffPublicResult

Fields
Field Name Description
result - ShiftPlannerByStaffPublicType!
next - ShiftPlannerByStaffCursor
Example
{
  "result": ShiftPlannerByStaffPublicType,
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

ShiftPlannerByStaffPublicType

Description

Shifts are structured by their assignment: They are either assigned to an employee or open (= unassigned).

Fields
Field Name Description
openShifts - [OpenShiftsPublicType!]!
employees - [EmployeesWithAssignedShiftsPublicType!]!
Example
{
  "openShifts": [OpenShiftsPublicType],
  "employees": [EmployeesWithAssignedShiftsPublicType]
}

ShiftPlannerPublicMutations

Description

Shift planner public mutations

Fields
Field Name Description
publish - ShiftPlannerPublishResultPublicType! Publish draft shifts within date range or, if no date range is specified, publish all draft shifts.
Arguments
siteSetId - SiteSetId!
dateRange - ClosedLocalDateRange
shift - ShiftPublicMutations!
Example
{
  "publish": ShiftPlannerPublishResultPublicType,
  "shift": ShiftPublicMutations
}

ShiftPlannerPublicQueries

Description

Shift planner public queries

Fields
Field Name Description
byGroups - ShiftPlannerByGroupsPublicResult! Returns all shifts of the site in the given date range organized by groups. The result can be filtered passing a ShiftPlannerByGroupsFilter to only include specific groups.
Arguments
byStaff - ShiftPlannerByStaffPublicResult! Returns all open shifts and all employees with assigned shifts in the given date range. The result can further be filtered passing a ShiftPlannerByStaffFilter to only include specific employees.
Arguments
siteSetId - SiteSetId!
dateRange - ClosedLocalDateRange!
pageSize - Int
Example
{
  "byGroups": ShiftPlannerByGroupsPublicResult,
  "byStaff": ShiftPlannerByStaffPublicResult
}

ShiftPlannerPublishResultPublicType

Fields
Field Name Description
publishedShifts - [ShiftPublicType!]!
Example
{"publishedShifts": [ShiftPublicType]}

ShiftPublicInput

Fields
Input Field Description
date - LocalDate!
startTime - LocalTime!
endTime - LocalTime!
breakMinutes - Int
employeeId - EmployeeId
groupId - GroupId!
workTagId - WorkTagId
managerNote - String
Example
{
  "date": "2022-10-07",
  "startTime": "01:08:03.420",
  "endTime": "01:08:03.420",
  "breakMinutes": 987,
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "managerNote": "xyz789"
}

ShiftPublicMutations

Description

Top level node for shift public mutations

Fields
Field Name Description
create - ShiftMutationPublicResultType! Create a new shift.
Arguments
siteSetId - SiteSetId!
shiftInput - ShiftPublicInput!
update - ShiftMutationPublicResultType! Update a shift.
Arguments
siteSetId - SiteSetId!
shiftUpdateInput - ShiftUpdatePublicInput!
delete - ShiftMutationPublicResultType! Delete a shift.
Arguments
siteSetId - SiteSetId!
shiftId - ShiftId!
Example
{
  "create": ShiftMutationPublicResultType,
  "update": ShiftMutationPublicResultType,
  "delete": ShiftMutationPublicResultType
}

ShiftPublicResultType

Fields
Field Name Description
shiftId - ShiftId!
date - LocalDate!
startTime - LocalTime!
endTime - LocalTime!
breakMinutes - Int
state - ShiftState!
assignedTo - EmployeeId
location - GroupId!
workTag - WorkTagPublicAPIResultResultType
managerNote - ManagerNoteType
Example
{
  "shiftId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "startTime": "01:08:03.420",
  "endTime": "01:08:03.420",
  "breakMinutes": 123,
  "state": "DRAFT",
  "assignedTo": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "location": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "workTag": WorkTagPublicAPIResultResultType,
  "managerNote": ManagerNoteType
}

ShiftPublicType

Description

A shift can have two states: Draft or Published. Shifts are either assigned to an employee or open (not assigned). All shifts must be located in a group/room

Fields
Field Name Description
shiftId - ShiftId!
date - LocalDate!
startTime - LocalTime!
endTime - LocalTime!
breakMinutes - Int
state - ShiftState!
location - GroupId!
assignedTo - EmployeeId
workTag - WorkTagPublicAPIResultResultType
note - ManagerNoteType
Example
{
  "shiftId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "startTime": "01:08:03.420",
  "endTime": "01:08:03.420",
  "breakMinutes": 987,
  "state": "DRAFT",
  "location": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "assignedTo": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "workTag": WorkTagPublicAPIResultResultType,
  "note": ManagerNoteType
}

ShiftState

Values
Enum Value Description

DRAFT

PUBLISHED

Example
"DRAFT"

ShiftUpdatePublicInput

Fields
Input Field Description
shiftId - ShiftId!
date - LocalDate!
startTime - LocalTime!
endTime - LocalTime!
breakMinutes - Int
employeeId - EmployeeId
groupId - GroupId!
workTagId - WorkTagId
managerNote - String
Example
{
  "shiftId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "startTime": "01:08:03.420",
  "endTime": "01:08:03.420",
  "breakMinutes": 987,
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "workTagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "managerNote": "xyz789"
}

ShiftsByGroupPublicType

Fields
Field Name Description
groupId - GroupId!
title - String!
openShifts - [OpenShiftsPublicType!]!
employees - [EmployeesWithAssignedShiftsPublicType!]!
Example
{
  "groupId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "abc123",
  "openShifts": [OpenShiftsPublicType],
  "employees": [EmployeesWithAssignedShiftsPublicType]
}

Site

Description

Represents a single physical site

Fields
Field Name Description
siteId - SiteId! The Famly ID for the site
title - String!
address - Address
contactPerson - Name!
email - String!
phone - PhoneNumberType!
socialMedia - SocialMedia
description - String
openingHours - OpeningHours!
position - InstitutionPosition
externalSystemsReferences - [ForeignSite!]! External systems references for the site
Example
{
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "title": "xyz789",
  "address": Address,
  "contactPerson": Name,
  "email": "example@famly.co",
  "phone": PhoneNumberType,
  "socialMedia": SocialMedia,
  "description": "abc123",
  "openingHours": OpeningHours,
  "position": InstitutionPosition,
  "externalSystemsReferences": [ForeignSite]
}

SiteCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

SiteId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

SiteQueries

Description

For querying sites

Fields
Field Name Description
list - SiteResult! List sites If no arguments are provided, all sites the current user has access to are returned.
Arguments
organizationId - OrganizationId

When provided returns all sites within the organization. Mutually exclusive with 'siteIds'

siteIds - [SiteId!]

Returns all the provided sites. Mutually exclusive with 'organizationId'

Example
{"list": SiteResult}

SiteRelation

Description

Represents child relation with sites

Fields
Field Name Description
firstDay - LocalDate! Child first day in a site
lastDay - LocalDate Child last day in a site, if defined
site - Site! Site related to child
Example
{
  "firstDay": "2022-10-07",
  "lastDay": "2022-10-07",
  "site": Site
}

SiteRelationInput

Description

Input for creating a site relation for a child

Fields
Input Field Description
siteId - InstitutionId!
firstDay - LocalDate!
lastDay - LocalDate
Example
{
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "firstDay": "2022-10-07",
  "lastDay": "2022-10-07"
}

SiteResult

Description

Paged results for sites (Not currently paged)

Fields
Field Name Description
next - SiteCursor
result - [Site!]!
Example
{
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "result": [Site]
}

SiteSetId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

SocialMedia

Fields
Field Name Description
facebook - URI
instagram - URI
twitter - URI
Example
{
  "facebook": URI,
  "instagram": URI,
  "twitter": URI
}

StaffAbsenceSubTypePublicInput

Description

Input for creating or modifying a staff absence sub type

Fields
Input Field Description
leaveType - StaffLeaveType!
name - String!
code - String
paid - Boolean
Example
{
  "leaveType": "SICK",
  "name": "xyz789",
  "code": "abc123",
  "paid": true
}

StaffAbsenceSubTypePublicMutations

Description

Public operations mutating staff absence sub types

Fields
Field Name Description
create - StaffAbsenceSubTypePublicType!
Arguments
delete - [StaffLeaveSubTypeId!]!
Arguments
absenceSubTypeIds - [StaffLeaveSubTypeId!]!
update - StaffAbsenceSubTypePublicType!
Arguments
siteSetId - SiteSetId!
absenceSubTypeId - StaffLeaveSubTypeId!
Example
{
  "create": StaffAbsenceSubTypePublicType,
  "delete": [
    "0c83793f-2ce6-458e-8d08-78d3910bdccb"
  ],
  "update": StaffAbsenceSubTypePublicType
}

StaffAbsenceSubTypePublicType

Description

Staff Absence Subtype Public Type

Fields
Field Name Description
id - StaffLeaveSubTypeId!
leaveType - StaffLeaveType!
name - String!
code - String
paid - Boolean
Example
{
  "id": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "leaveType": "SICK",
  "name": "abc123",
  "code": "abc123",
  "paid": false
}

StaffAbsenceSubTypesPublicQueries

Description

Staff absence sub type public queries

Fields
Field Name Description
list - [StaffAbsenceSubTypePublicType!]!
Arguments
siteSetId - SiteSetId!
Example
{"list": [StaffAbsenceSubTypePublicType]}

StaffHoursByStaffCursor

Description

A string representing a cursor into a paged result

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

StaffHoursTotalsByStaffType

Fields
Field Name Description
employee - Employee!
bankHours - BankHoursPublic
totals - StaffHoursTotalsPublicType!
Example
{
  "employee": Employee,
  "bankHours": BankHoursPublic,
  "totals": StaffHoursTotalsPublicType
}

StaffHoursTotalsPublicQueriesType

Description

Staff hours totals public queries

Fields
Field Name Description
byStaff - StaffHoursTotalsResult!

Query the staff hours totals in the date range for all employees of the site. The maximum date range is 365 days.

Filters: The result can be filtered on employee ids and on employee base rooms. If group ids are passed, the query will only return employees whose base room set to that group.

Pagination will only be active if the parameter page size is passed. If no page size is defined the query result will not be paginated.

Arguments
siteSetId - SiteSetId!
dateRange - ClosedLocalDateRange!
employeeIds - [EmployeeId!]
groupIds - [GroupId!]
pageSize - Int
Example
{"byStaff": StaffHoursTotalsResult}

StaffHoursTotalsPublicType

Fields
Field Name Description
contractedMinutes - Int!
attendedMinutes - Int! Attended = The sum of check-in periods, excluding break time
scheduledMinutes - Int! Scheduled = The sum of all published shifts assigned to the employee, excluding break time
breakMinutes - Int! Break = The sum of breaks of all published shifts assigned to the employee
isSignOutMissing - Boolean!
leaveMinutes - LeaveMinutesPublicType!
periodTotal - Int! Period Total = Attended + Paid leave
contractedDifference - Int! Contract Difference = Attended Total - Contracted
scheduleDifference - Int! Schedule Difference = Attended - Scheduled
Example
{
  "contractedMinutes": 987,
  "attendedMinutes": 987,
  "scheduledMinutes": 987,
  "breakMinutes": 987,
  "isSignOutMissing": false,
  "leaveMinutes": LeaveMinutesPublicType,
  "periodTotal": 123,
  "contractedDifference": 987,
  "scheduleDifference": 987
}

StaffHoursTotalsResult

Fields
Field Name Description
dateRange - TimeRangeClosed!
byStaff - [StaffHoursTotalsByStaffType!]!
next - StaffHoursByStaffCursor
Example
{
  "dateRange": TimeRangeClosed,
  "byStaff": [StaffHoursTotalsByStaffType],
  "next": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

StaffLeaveBalance

Description

Represents an employee leave

Fields
Field Name Description
employeeId - EmployeeId! Employee ID
leaveType - StaffLeaveType! Leave type
balance - Float Leave reason
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "leaveType": "SICK",
  "balance": 123.45
}

StaffLeaveCreateInputPublicAPI

Fields
Input Field Description
siteId - SiteId!
employeeId - EmployeeId!
leaveType - StaffLeaveType!
leaveSubTypeId - StaffLeaveSubTypeId
date - LocalDate!
startTime - LocalTime
endTime - LocalTime
staffNote - String
Example
{
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "leaveType": "SICK",
  "leaveSubTypeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "startTime": "01:08:03.420",
  "endTime": "01:08:03.420",
  "staffNote": "abc123"
}

StaffLeaveSettingMutations

Description

For mutating staff absence settings

Fields
Field Name Description
staffAbsenceSubtypes - StaffAbsenceSubTypePublicMutations!
updateEmployeeAbsenceDayHours - Float! Set site-wide default for the hours to measure a full day of absence
Arguments
siteSetId - SiteSetId!
employeeAbsenceDayHours - Float!
updateHolidayEntitlementMinutes - Int! Set the number of entitled holiday minutes. It cannot be a negative number or exceed the equivalent of 366 days in minutes.
Arguments
siteSetId - SiteSetId!
holidayEntitlementMinutes - Int!
updateHolidayAbsenceRange - FiscalYear! Change the default holiday absence range
Arguments
siteSetId - SiteSetId!
absenceRange - FiscalYear!
updateApprovalRequired - Boolean! Change approval required setting for absence types
Arguments
siteSetId - SiteSetId!
sickApprovalRequired - Boolean!
childSickApprovalRequired - Boolean!
absentApprovalRequired - Boolean!
holidayApprovalRequired - Boolean!
updateSubTypeIsRequired - Boolean! Change if sub type is required
Arguments
siteSetId - SiteSetId!
subTypeIsRequired - Boolean!
updateSubTypeIsRestricted - Boolean! Change if sub type is restricted
Arguments
siteSetId - SiteSetId!
subTypeIsRestricted - Boolean!
updateIsPaid - Boolean! Change if absence type is paid
Arguments
siteSetId - SiteSetId!
sickIsPaid - Boolean!
childSickIsPaid - Boolean!
absentIsPaid - Boolean!
holidayIsPaid - Boolean!
Example
{
  "staffAbsenceSubtypes": StaffAbsenceSubTypePublicMutations,
  "updateEmployeeAbsenceDayHours": 123.45,
  "updateHolidayEntitlementMinutes": 123,
  "updateHolidayAbsenceRange": "JAN1DEC31",
  "updateApprovalRequired": true,
  "updateSubTypeIsRequired": false,
  "updateSubTypeIsRestricted": false,
  "updateIsPaid": false
}

StaffLeaveSettingQueries

Description

For querying staff absence settings

Fields
Field Name Description
staffAbsenceSubtypes - StaffAbsenceSubTypesPublicQueries!
staffAbsenceSettingResult - staffAbsenceSettingsPublicType!
Arguments
siteSetId - SiteSetId!
Example
{
  "staffAbsenceSubtypes": StaffAbsenceSubTypesPublicQueries,
  "staffAbsenceSettingResult": staffAbsenceSettingsPublicType
}

StaffLeaveSubTypeId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

StaffLeaveType

Values
Enum Value Description

SICK

CHILD_SICK

VACATION

ABSENT

Example
"SICK"

StaffLeaveUpdateInputPublicAPI

Fields
Input Field Description
leaveId - EmployeeLeaveId!
siteId - SiteId!
employeeId - EmployeeId!
leaveType - StaffLeaveType!
leaveSubTypeId - StaffLeaveSubTypeId
date - LocalDate!
startTime - LocalTime
endTime - LocalTime
staffNote - String
Example
{
  "leaveId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "leaveType": "SICK",
  "leaveSubTypeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "date": "2022-10-07",
  "startTime": "01:08:03.420",
  "endTime": "01:08:03.420",
  "staffNote": "abc123"
}

Status

Values
Enum Value Description

WAITING_LIST

LOST

NEW

CONFIRMED

CONTACTED

VIEWED

ENROLLED

Example
"WAITING_LIST"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

StripePayment

Description

Details of a Stripe payment

Fields
Field Name Description
feeAmount - BadMoney! The fee amount charged for the payment
payoutId - String The payout identifier in which the payment was included
payoutDate - LocalDate Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.
payoutForRefundId - String The payout identifier in which the refund was included
payoutForRefundDate - LocalDate Date the refund payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.
paymentId - PaymentId!
Example
{
  "feeAmount": BadMoney,
  "payoutId": "abc123",
  "payoutDate": "2022-10-07",
  "payoutForRefundId": "abc123",
  "payoutForRefundDate": "2022-10-07",
  "paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

SubmissionId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

TaxFreeChildcarePayment

Description

Details of a Tax-Free Childcare payment

Fields
Field Name Description
reference - String! Reference for the Tax-Free Childcare payment
estimatedPaymentDate - LocalDate! Date the Tax-Free Childcare payment is expected to arrive in the bank.
paymentId - PaymentId!
Example
{
  "reference": "abc123",
  "estimatedPaymentDate": "2022-10-07",
  "paymentId": "0c83793f-2ce6-458e-8d08-78d3910bdccb"
}

TimeRangeClosed

Fields
Field Name Description
from - LocalDate!
to - LocalDate!
Example
{
  "from": "2022-10-07",
  "to": "2022-10-07"
}

TimeRangeClosedLocalTime

Fields
Field Name Description
from - LocalTime!
to - LocalTime!
Example
{
  "from": "01:08:03.420",
  "to": "01:08:03.420"
}

TransactionStatus

Description

The current status of a transaction

Values
Enum Value Description

PENDING

Transaction is waiting to be sent to the payment provider

ABANDONED

The payment was abandoned before completing validation

COMPLETED

Transaction completed successfully

REQUIRES_VALIDATION

Payment requires further validation to complete

PROCESSING

Transaction has been sent and is being processed

DISPUTED

The transaction was disputed

REFUNDED

The transaction was refunded

FAILED

The transaction completed unsuccessfully

PENDING_INVOICE

The payment was successful but is pending invoice creation
Example
"PENDING"

URI

Description

A string containing a valid absolute URI

Example
URI

UniqueId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

VacationId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

ValidEmailAddress

Description

A valid email address

Example
"example@famly.co"

WorkAvailabilityPublic

Fields
Field Name Description
monday - TimeRangeClosedLocalTime
tuesday - TimeRangeClosedLocalTime
wednesday - TimeRangeClosedLocalTime
thursday - TimeRangeClosedLocalTime
friday - TimeRangeClosedLocalTime
saturday - TimeRangeClosedLocalTime
sunday - TimeRangeClosedLocalTime
validFrom - LocalDate!
validTo - LocalDate
Example
{
  "monday": TimeRangeClosedLocalTime,
  "tuesday": TimeRangeClosedLocalTime,
  "wednesday": TimeRangeClosedLocalTime,
  "thursday": TimeRangeClosedLocalTime,
  "friday": TimeRangeClosedLocalTime,
  "saturday": TimeRangeClosedLocalTime,
  "sunday": TimeRangeClosedLocalTime,
  "validFrom": "2022-10-07",
  "validTo": "2022-10-07"
}

WorkAvailabilityPublicInput

Fields
Input Field Description
monday - ClosedLocalTimeRange
tuesday - ClosedLocalTimeRange
wednesday - ClosedLocalTimeRange
thursday - ClosedLocalTimeRange
friday - ClosedLocalTimeRange
saturday - ClosedLocalTimeRange
sunday - ClosedLocalTimeRange
Example
{
  "monday": ClosedLocalTimeRange,
  "tuesday": ClosedLocalTimeRange,
  "wednesday": ClosedLocalTimeRange,
  "thursday": ClosedLocalTimeRange,
  "friday": ClosedLocalTimeRange,
  "saturday": ClosedLocalTimeRange,
  "sunday": ClosedLocalTimeRange
}

WorkAvailabilityPublicMutations

Description

Work Availability public mutations

Fields
Field Name Description
save - WorkAvailabilityPublicResult! Save employee work availability. Replaces current value if present, always effective from today.
Arguments
employeeId - EmployeeId!
workAvailabilityInput - WorkAvailabilityPublicInput!
Example
{"save": WorkAvailabilityPublicResult}

WorkAvailabilityPublicQueries

Description

Work Availability public queries

Fields
Field Name Description
byEmployee - WorkAvailabilityPublicResult! Returns current value for employee work availability, if defined.
Arguments
employeeId - EmployeeId!
byEmployees - [WorkAvailabilityPublicResult!]! Returns current value for employees work availability.
Arguments
employeeIds - [EmployeeId!]!
bySite - [WorkAvailabilityPublicResult!]! Returns current value for work availability of all employees in a given site.
Arguments
siteId - SiteId!
default - WorkAvailabilityPublic! Returns default work availability for the site, which corresponds to current opening hours.
Arguments
siteId - SiteId!
Example
{
  "byEmployee": WorkAvailabilityPublicResult,
  "byEmployees": [WorkAvailabilityPublicResult],
  "bySite": [WorkAvailabilityPublicResult],
  "default": WorkAvailabilityPublic
}

WorkAvailabilityPublicResult

Fields
Field Name Description
employeeId - EmployeeId!
current - WorkAvailabilityPublic
Example
{
  "employeeId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "current": WorkAvailabilityPublic
}

WorkTagColor

Values
Enum Value Description

YELLOW

GRAY

TURQUOISE

CRIMSON

BROWN

TEAL

GREEN

ORANGE

RED

BLUE

PURPLE

PINK

Example
"YELLOW"

WorkTagId

Description

A string containing a 36-character UUID

Example
"0c83793f-2ce6-458e-8d08-78d3910bdccb"

WorkTagPublicAPICreateInputType

Fields
Input Field Description
name - String!
color - WorkTagColor
code - String
Example
{
  "name": "xyz789",
  "color": "YELLOW",
  "code": "abc123"
}

WorkTagPublicAPIMutationsType

Description

Work tag mutations

Fields
Field Name Description
create - WorkTagPublicAPIResultResultType!
Arguments
siteSetId - SiteSetId!
update - WorkTagPublicAPIResultResultType!
Arguments
siteSetId - SiteSetId!
delete - WorkTagPublicAPIResultResultType!
Arguments
siteSetId - SiteSetId!
workTagId - WorkTagId!
Example
{
  "create": WorkTagPublicAPIResultResultType,
  "update": WorkTagPublicAPIResultResultType,
  "delete": WorkTagPublicAPIResultResultType
}

WorkTagPublicAPIQueriesType

Description

Work tag queries

Fields
Field Name Description
bySiteSetId - [WorkTagPublicAPIResultResultType!]!
Arguments
siteSetId - SiteSetId!
Example
{"bySiteSetId": [WorkTagPublicAPIResultResultType]}

WorkTagPublicAPIResultResultType

Fields
Field Name Description
tagId - WorkTagId!
name - String!
color - WorkTagColor
code - String
Example
{
  "tagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789",
  "color": "YELLOW",
  "code": "xyz789"
}

WorkTagPublicAPIUpdateInputType

Fields
Input Field Description
tagId - WorkTagId!
name - String!
color - WorkTagColor
code - String
Example
{
  "tagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "abc123",
  "color": "YELLOW",
  "code": "abc123"
}

WorkTagResultResultType

Fields
Field Name Description
tagId - WorkTagId!
siteId - SiteId!
name - String!
color - WorkTagColor
code - String
Example
{
  "tagId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "siteId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "name": "xyz789",
  "color": "YELLOW",
  "code": "xyz789"
}

ZonedDateTime

Description

A string containing an instant in a specific time zone

Example
"2022-10-07T01:08:03.420+02:00"

staffAbsenceSettingsPublicType

Description

Staff Absence Related Site Settings Public Values

Fields
Field Name Description
siteSetId - SiteSetId!
employeeAbsenceDayHours - Float Site-wide default for the hours to measure a full day of absence
absenceRange - FiscalYear Absence range for holidays
holidayApprovalRequired - Boolean Require absence approval for holiday
absentApprovalRequired - Boolean Require absence approval for absent
childSickApprovalRequired - Boolean Require absence approval for child sick
sickApprovalRequired - Boolean Require absence approval for sick
holidayIsPaid - Boolean
absentIsPaid - Boolean
childSickIsPaid - Boolean
sickIsPaid - Boolean
holidayEntitlementMinutes - Int!
subTypeIsRequired - Boolean
subTypeIsRestricted - Boolean
Example
{
  "siteSetId": "0c83793f-2ce6-458e-8d08-78d3910bdccb",
  "employeeAbsenceDayHours": 987.65,
  "absenceRange": "JAN1DEC31",
  "holidayApprovalRequired": true,
  "absentApprovalRequired": false,
  "childSickApprovalRequired": false,
  "sickApprovalRequired": false,
  "holidayIsPaid": false,
  "absentIsPaid": true,
  "childSickIsPaid": true,
  "sickIsPaid": true,
  "holidayEntitlementMinutes": 123,
  "subTypeIsRequired": false,
  "subTypeIsRestricted": true
}