Protocol Query

This query will allow you to pull protocols from EverReal.

Protocol query

The protocol graphQL query allows one to retrieve protocols information from EverReal.

Filter options

  • id - filter by the protocol id

  • draftId - filter by the protocol draft id

  • companyId - filter by company id

  • unitId - filter by the unit id

  • propertyId - filter by the property id

  • protocolType - filter by the protocol type. See possible options in types below.

Protocol Query

To query a protocol from EverReal use protocol query

type Query {
  protocols(input: ProtocolFilterListPaging): [Protocol]
}

Schema

enum ProtocolType {
  MOVE_IN
  MOVE_OUT
  SELLING
  PRE_MOVE_OUT
}

enum ProtocolVersion {
  V1
  V2
}


type Protocol {
  id: ID!
  protocolVersion: ProtocolVersion
  companyId: String!
  propertyId: String
  unitId: String
  documentId: String
  additionalNotes: String
  moveInExtraInformation: MoveInExtraInformation
  moveOutExtraInformation: MoveOutExtraInformation
  sellingExtraInformation: SellingExtraInformation
  uploadsRootId: String
  draftId: String
  protocolType: ProtocolType!
  createdAt: DateTime!
  updatedAt: DateTime!
  deletedAt: DateTime
  property: Property
  unit: Unit
  company: Company
  rooms: [ProtocolRoom!]!
  meters: [ProtocolMeter!]!
  keysets: [ProtocolKeyset!]!
  persons: [ProtocolPerson!]!
  savingProgress: ProtocolSavingProgress
  signatureAcknowledgementText: String
}

type ProtocolRoom {
  id: ID!
  protocolId: String!
  name: String!
  floorType: ProtocolRoomFloorType
  wallType: ProtocolRoomWallType
  ceilingType: ProtocolRoomCeilingType
  smokeDetectors: Int
  additionalNotes: String
  hasPreinstalledFurniture: ProtocolRoomFurniture
  roomInGoodCondition: Boolean
  isInspected: Boolean
  createdAt: DateTime!
  updatedAt: DateTime!
}

type ProtocolMeter {
  id: ID!
  protocolId: String!
  unitMeterId: String
  stand: String
  type: ProtocolMeterType!
  number: String!
  pictures: [File!]
  createdAt: DateTime!
  updatedAt: DateTime!
  deletedAt: DateTime
}

type ProtocolKeyset {
  id: ID!
  protocolId: String!
  unitKeysetId: String
  quantity: Int!
  type: ProtocolKeysetType
  model: String
  pictures: [File!]
  keyNumbers: [ProtocolKeyNumber!]
  createdAt: DateTime!
  updatedAt: DateTime!
  deletedAt: DateTime
}

type ProtocolPerson {
  id: ID!
  protocolId: String!
  companyContactId: String
  email: String
  firstName: String
  lastName: String
  phoneNumber: String
  role: ProtocolPersonType
  signature: ProtocolPersonSignature
  createdAt: DateTime!
  updatedAt: DateTime!
}

type ProtocolFilterListPaging {
  filter: ProtocolFilter
  paging: GraphPaging
  sort: GraphSorting
}

type ProtocolFilter {
  id: String
  draftId: String
  companyId: String
  propertyId: String
  unitId: String
  protocolType: ProtocolType
}

type GraphPaging {
  skip: Int
  take: Int
}

type GraphSorting {
  fieldName: String
  direction: String
}

Example

query GetProtocols {
  protocols(input:
  {
  filter:{
    id:"b953017a-3824-4b44-a28f-e872a3c53b09"
    unitId:"b953017a-3824-4b44-a28f-e872a3c53b08",
    propertyId:"b953017a-3823-4b44-a28f-e872a3c53b09",
    draftId:"b953017a-3824-4b44-a28f-e872a4c53b09",
    companyId:"341de250-2fd6-11e7-9e51-ff0020488d44",
    protocolType:"V2"
  }
  }
  ){
    id
    draftId
    propertyId
    companyId
    unitId
    protocolType
    protocolVersion
    unit {
     id
    }
    company {
      id
    }
    property {
      id
    }
    keysets {
      id
      pictures {
      id
      }
    }
    meters {
      id
      protocolId
      unitMeterId
      stand
      number
      pictures{id}
    }
    rooms {
      id
    }
    
  }
}

Last updated

Was this helpful?