PcoCalendarResource class

This class represents a PCO Calendar Resource Object

Instantiation

  • Create a new instance using the PcoCalendarResource() constructor
  • Instantiate from existing JSON data using the PcoCalendarResource.fromJson() constructor.
  • Load an instance from the API using one of the static methods defined on this class.

Usage

  • Fields exposed by the API are readable through getter methods.
  • Fields writable by the API are exposed through setter methods.
  • Original json data is exposed through the read-only attributes map.
  • Additional data is available through the read-only links and relationships maps.
  • Available relationships / includes are exposed through typed getters.

Description

A room or resource that can be requested for use as part of an event.

Attributes (and permissions)

  • id (ro) -> PCO: id
  • createdAt (ro) -> PCO: created_at
  • kind (ro) -> PCO: kind
  • name (rw) -> PCO: name
  • serialNumber (ro) -> PCO: serial_number
  • updatedAt (ro) -> PCO: updated_at
  • description (ro) -> PCO: description
  • expiresAt (ro) -> PCO: expires_at
  • homeLocation (rw) -> PCO: home_location
  • image (ro) -> PCO: image
  • quantity (rw) -> PCO: quantity
  • pathName (ro) -> PCO: path_name

Edges and Actions

Outbound Edges:

Inbound Edges:

Actions: NONE

Raw Data Object Example

{
  "type": "Resource",
  "id": "1",
  "attributes": {
    "created_at": "2000-01-01T12:00:00Z",
    "kind": "string",
    "name": "string",
    "serial_number": "string",
    "updated_at": "2000-01-01T12:00:00Z",
    "description": "string",
    "expires_at": "2000-01-01T12:00:00Z",
    "home_location": "string",
    "image": "string",
    "quantity": 1,
    "path_name": "string"
  },
  "relationships": {}
}
Inheritance

Constructors

PcoCalendarResource({String? id, DateTime? createdAt, String? kind, String? name, String? serialNumber, DateTime? updatedAt, String? description, DateTime? expiresAt, String? homeLocation, String? image, int? quantity, String? pathName, Map<String, List<PcoResource>>? withRelationships, List<PcoResource>? withIncluded})
Create a new PcoCalendarResource object. This object cannot be created with the API
factory
PcoCalendarResource.empty()
Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
PcoCalendarResource.fromJson(Map<String, dynamic> data, {List<Map<String, dynamic>>? withIncluded})

Properties

api PlanningCenter
planning center resources must be tied to an api
no setterinherited
apiEndpoint String
no setterinherited
apiPath String
PcoResources include their own path as a link object but this might be null if we haven't created/fetched the object yet Child classes should redefine this getter to allow for manual path overrides
no setteroverride
apiVersion String
child classes can override these getters which will allow methods in this class to see static variables from child classes
no setteroverride
attributes ReadOnlyMapView<String, dynamic>
contains the underlying attributes returned by the api and allows a user to access arbitrary data in the attributes by actual api name
no setterinherited
canCreate bool
no setteroverride
canDestroy bool
no setteroverride
canUpdate bool
no setteroverride
createAllowed List<String>
no setteroverride
createdAt DateTime
no setterinherited
createPathTemplate String
no setteroverride
defaultPathTemplate String
no setteroverride
description String
no setter
expiresAt DateTime
no setter
fetched bool
indicate whether an item is full or partial
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
homeLocation String
Where the resource is normally kept
getter/setter pair
id String?
no setterinherited
image String
no setter
included List<PcoResource>
contains included items parsed into objects
no setterinherited
includedResourceApprovalGroups List<PcoCalendarResourceApprovalGroup>
no setter
includedResourceFolder PcoCalendarResourceFolder?
no setter
includedResourceQuestions List<PcoCalendarResourceQuestion>
no setter
includedRoomSetups List<PcoCalendarRoomSetup>
no setter
kind String
no setter
contains the links data returned by the api if present
no setterinherited
name String
The name of the room or resource
getter/setter pair
needsSave bool
no setterinherited
pathName String
no setter
pcoApplication String
latefinalinherited
quantity int
The quantity of the resource
getter/setter pair
relationships ReadOnlyMapView<String, List<PcoResource>>
contains relationships parsed into objects even though the api sends relationship objects as Maps or Lists we always put them into lists for consistency
no setterinherited
resourceType String
all planning center resources must have a type
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serialNumber String
no setter
slug String
no setterinherited
updateAllowed List<String>
no setteroverride
updatedAt DateTime
no setterinherited

Methods

coerceDouble(dynamic a) double
inherited
coerceInt(dynamic a) int
inherited
delete() Future<PlanningCenterApiResponse<PlanningCenterApiData>>
inherited
filteredAttributes(List<String> allowedKeys) Map<String, dynamic>
inherited
fromJson(Map<String, dynamic> data, {List<Map<String, dynamic>>? withIncluded}) → dynamic
Takes a full JSON:API Response Object (the contents of a "data" field) will clear and update id, apiPath, attributes and _relationships
inherited
getConflicts({PcoCalendarConflictQuery? query}) Future<PcoCollection<PcoCalendarConflict>>
Will get a collection of PcoCalendarConflict objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/conflicts
getEventResourceRequests({PcoCalendarEventResourceRequestQuery? query}) Future<PcoCollection<PcoCalendarEventResourceRequest>>
Will get a collection of PcoCalendarEventResourceRequest objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/event_resource_requests
getRequiredApprovals({PcoCalendarRequiredApprovalQuery? query}) Future<PcoCollection<PcoCalendarRequiredApproval>>
Will get a collection of PcoCalendarRequiredApproval objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/required_approvals
getResourceApprovalGroups({PcoCalendarResourceApprovalGroupQuery? query}) Future<PcoCollection<PcoCalendarResourceApprovalGroup>>
Will get a collection of PcoCalendarResourceApprovalGroup objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/resource_approval_groups
getResourceBookings({PcoCalendarResourceBookingQuery? query}) Future<PcoCollection<PcoCalendarResourceBooking>>
Will get a collection of PcoCalendarResourceBooking objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/resource_bookings
getResourceFolder({PcoCalendarResourceFolderQuery? query}) Future<PcoCollection<PcoCalendarResourceFolder>>
Will get a collection of PcoCalendarResourceFolder objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/resource_folder
getResourceQuestions({PcoCalendarResourceQuestionQuery? query}) Future<PcoCollection<PcoCalendarResourceQuestion>>
Will get a collection of PcoCalendarResourceQuestion objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/resource_questions
getRoomSetups({PcoCalendarRoomSetupQuery? query}) Future<PcoCollection<PcoCalendarRoomSetup>>
Will get a collection of PcoCalendarRoomSetup objects (expecting many) using a path like this: https://api.planningcenteronline.com/calendar/v2/resources/1/room_setups
handleIncludes(List<Map<String, dynamic>> included) → void
This function populates the relationships with typed resource objects based on the data in the included map of the json.
inherited
handleItem(Map<String, dynamic> data) PcoResource?
inherited
handleRelationships(Map<String, dynamic> items, [List<Map<String, dynamic>> included = const []]) Map<String, List<PcoResource>>
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
save({Map<String, PcoResource>? withRelated, List<PcoResource>? withIncluded}) Future<PlanningCenterApiResponse<PlanningCenterApiData>>
Many Planning Center endpoints allow or require additional relationships and/or included items to be sent with a create/update operation. Since these cannot always be determined by the automatic code generation, they may be included as arguments to the save operation.
inherited
toCreateResource() Map<String, dynamic>
create the attributes Map for this object without the id field using only the attributes allowed in create (post) operations
inherited
toDataMap({Map<String, PcoResource>? withRelated, List<PcoResource>? withIncluded}) Map<String, dynamic>
create a json-api Map for this object automatically selecting create or update based on the existence of the id field. Will result in something like this:
inherited
toIdResource() Map<String, dynamic>
returns the simplest representation of this resource with only the type and the id:
inherited
toJson({dynamic includeAttributes = true, dynamic includeRelationships = false}) Map<String, dynamic>
Some api requests only want the type and id of an object. In those cases, set includeAttributes to false or call toIdResource instead.
inherited
toString() String
A string representation of this object.
inherited
toUpdateResource() Map<String, dynamic>
create the attributes Map for this object using only the attributes allowed in update (patch) operations
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

canInclude List<String>
possible includes with parameter ?include=a,b
no setter
canOrderBy List<String>
possible orderings with parameter ?order=
no setter
canQuery List<String>
possible queries using parameters like ?wherekey=value or ?wheregt|lt=value
no setter

Static Methods

get({String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resources
getAll({String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resources
getAllContainingResourceFromRoomSetup(String roomSetupId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/room_setups/$roomSetupId/containing_resource
getAllFromConflict(String conflictId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/conflicts/$conflictId/resource
getAllFromEventResourceRequest(String eventResourceRequestId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/event_resource_requests/$eventResourceRequestId/resource
getAllFromResourceApprovalGroup(String resourceApprovalGroupId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_approval_groups/$resourceApprovalGroupId/resources
getAllFromResourceApprovalGroupAndRequiredApproval(String resourceApprovalGroupId, String requiredApprovalId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_approval_groups/$resourceApprovalGroupId/required_approvals/$requiredApprovalId/resource
getAllFromResourceBooking(String resourceBookingId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_bookings/$resourceBookingId/resource
getAllFromResourceFolder(String resourceFolderId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_folders/$resourceFolderId/resources
getAllFromRoomSetupAndResourceSuggestion(String roomSetupId, String resourceSuggestionId, {String? id, PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/room_setups/$roomSetupId/resource_suggestions/$resourceSuggestionId/resource
getContainingResourceFromRoomSetup(String roomSetupId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/room_setups/$roomSetupId/containing_resource
getFromConflict(String conflictId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/conflicts/$conflictId/resource
getFromEventResourceRequest(String eventResourceRequestId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/event_resource_requests/$eventResourceRequestId/resource
getFromResourceApprovalGroup(String resourceApprovalGroupId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_approval_groups/$resourceApprovalGroupId/resources
getFromResourceApprovalGroupAndRequiredApproval(String resourceApprovalGroupId, String requiredApprovalId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_approval_groups/$resourceApprovalGroupId/required_approvals/$requiredApprovalId/resource
getFromResourceBooking(String resourceBookingId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_bookings/$resourceBookingId/resource
getFromResourceFolder(String resourceFolderId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_folders/$resourceFolderId/resources
getFromRoomSetupAndResourceSuggestion(String roomSetupId, String resourceSuggestionId, {String? id, PcoCalendarResourceQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCollection<PcoCalendarResource>>
Will get a PcoCollection of PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/room_setups/$roomSetupId/resource_suggestions/$resourceSuggestionId/resource
getSingle(String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/resources/[id]
getSingleContainingResourceFromRoomSetup(String roomSetupId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/room_setups/$roomSetupId/containing_resource/[id]
getSingleFromConflict(String conflictId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/conflicts/$conflictId/resource/[id]
getSingleFromEventResourceRequest(String eventResourceRequestId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/event_resource_requests/$eventResourceRequestId/resource/[id]
getSingleFromResourceApprovalGroup(String resourceApprovalGroupId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/resource_approval_groups/$resourceApprovalGroupId/resources/[id]
getSingleFromResourceApprovalGroupAndRequiredApproval(String resourceApprovalGroupId, String requiredApprovalId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/resource_approval_groups/$resourceApprovalGroupId/required_approvals/$requiredApprovalId/resource/[id]
getSingleFromResourceBooking(String resourceBookingId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/resource_bookings/$resourceBookingId/resource/[id]
getSingleFromResourceFolder(String resourceFolderId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/resource_folders/$resourceFolderId/resources/[id]
getSingleFromRoomSetupAndResourceSuggestion(String roomSetupId, String resourceSuggestionId, String id, {PcoCalendarResourceQuery? query, bool includeAllRelated = false, bool includeResourceApprovalGroups = false, bool includeResourceFolder = false, bool includeResourceQuestions = false, bool includeRoomSetups = false}) Future<PcoCalendarResource?>
Will get a single PcoCalendarResource object using a path like this: /calendar/v2/room_setups/$roomSetupId/resource_suggestions/$resourceSuggestionId/resource/[id]

Constants

kApiVersion → const String
kCreatedAt → const String
kCreatePathTemplate → const String
kDefaultPathTemplate → const String
kDescription → const String
kExpiresAt → const String
kHomeLocation → const String
kId → const String
kImage → const String
kKind → const String
kName → const String
kPathName → const String
kPcoApplication → const String
kQuantity → const String
kSerialNumber → const String
kTypeId → const String
kTypeString → const String
kUpdatedAt → const String