PcoServicesSchedule class Null safety
This class represents a PCO Services Schedule Object
- Application: services
- Id: schedule
- Type: Schedule
- ApiVersion: 2018-11-01
- Is Deprecated: false
- Is Collection Only: false
- Default Endpoint: https://api.planningcenteronline.com/services/v2/people/1/schedules
- Create Endpoint: NONE
Instantiation
- This object cannot be created through the API.
- Instantiate from existing
JSON
data using thePcoServicesSchedule.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-onlyattributes
map. - Additional data is available through the read-only
links
andrelationships
maps. - Available relationships / includes are exposed through typed getters.
Description
An instance of a PlanPerson with included data for displaying in a user's schedule
Attributes (and permissions)
id
(ro) -> PCO:id
sortDate
(ro) -> PCO:sort_date
dates
(ro) -> PCO:dates
declineReason
(ro) -> PCO:decline_reason
organizationName
(ro) -> PCO:organization_name
organizationTimeZone
(ro) -> PCO:organization_time_zone
organizationTwentyFourHourTime
(ro) -> PCO:organization_twenty_four_hour_time
personName
(ro) -> PCO:person_name
positionDisplayTimes
(ro) -> PCO:position_display_times
respondsToName
(ro) -> PCO:responds_to_name
serviceTypeName
(ro) -> PCO:service_type_name
shortDates
(ro) -> PCO:short_dates
status
(ro) -> PCO:status
teamName
(ro) -> PCO:team_name
teamPositionName
(ro) -> PCO:team_position_name
isCanAcceptPartial
(ro) -> PCO:can_accept_partial
isCanAcceptPartialOneTime
(ro) -> PCO:can_accept_partial_one_time
isPlanVisible
(ro) -> PCO:plan_visible
isPlanVisibleToMe
(ro) -> PCO:plan_visible_to_me
Edges and Actions
Outbound Edges:
plantime-schedule-declined_plan_times
: https://api.planningcenteronline.com/services/v2/people/1/schedules/1/declined_plan_timesplantime-schedule-plan_times
: https://api.planningcenteronline.com/services/v2/people/1/schedules/1/plan_timesperson-schedule-respond_to
: https://api.planningcenteronline.com/services/v2/people/1/schedules/1/respond_toteam-schedule-team
: https://api.planningcenteronline.com/services/v2/people/1/schedules/1/team
Inbound Edges:
schedule-person-schedules
: https://api.planningcenteronline.com/services/v2/people/1/schedulesschedule-plan-my_schedules
: https://api.planningcenteronline.com/services/v2/service_types/1/plans/1/my_schedules
Actions:
accept
: https://api.planningcenteronline.com/services/v2/people/1/schedules/1/acceptdecline
: https://api.planningcenteronline.com/services/v2/people/1/schedules/1/decline
Raw Data Object Example
{
"type": "Schedule",
"id": "1",
"attributes": {
"sort_date": "2000-01-01T12:00:00Z",
"dates": "string",
"decline_reason": "string",
"organization_name": "string",
"organization_time_zone": "string",
"organization_twenty_four_hour_time": "string",
"person_name": "string",
"position_display_times": "string",
"responds_to_name": "string",
"service_type_name": "string",
"short_dates": "string",
"status": "string",
"team_name": "string",
"team_position_name": "string",
"can_accept_partial": true,
"can_accept_partial_one_time": true,
"plan_visible": true,
"plan_visible_to_me": true
},
"relationships": {
"person": {
"data": {
"type": "Person",
"id": "1"
}
},
"service_type": {
"data": {
"type": "ServiceType",
"id": "1"
}
},
"organization": {
"data": {
"type": "Organization",
"id": "1"
}
},
"plan_person": {
"data": {
"type": "PlanPerson",
"id": "1"
}
},
"plan": {
"data": {
"type": "Plan",
"id": "1"
}
},
"team": {
"data": {
"type": "Team",
"id": "1"
}
},
"responds_to_person": {
"data": {
"type": "Person",
"id": "1"
}
},
"times": {
"data": [
{
"type": "PlanTime",
"id": "1"
}
]
}
}
}
- Inheritance
-
- Object
- PcoResource
- PcoServicesSchedule
Constructors
-
PcoServicesSchedule({String? id, DateTime? sortDate, String? dates, String? declineReason, String? organizationName, String? organizationTimeZone, String? organizationTwentyFourHourTime, String? personName, String? positionDisplayTimes, String? respondsToName, String? serviceTypeName, String? shortDates, String? status, String? teamName, String? teamPositionName, bool? isCanAcceptPartial, bool? isCanAcceptPartialOneTime, bool? isPlanVisible, bool? isPlanVisibleToMe, Map<
String, List< ? withRelationships, List<PcoResource> >PcoResource> ? withIncluded}) -
Create a new PcoServicesSchedule object. This object cannot be created with the API
factory
- PcoServicesSchedule.empty()
- Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
-
PcoServicesSchedule.fromJson(Map<
String, dynamic> data, {List<Map< ? withIncluded})String, dynamic> >
Properties
- api → PlanningCenter
-
planning center resources must be tied to an api
read-onlyinherited
- apiEndpoint → String
-
read-onlyinherited
- 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
read-onlyoverride
- apiVersion → String
-
child classes can override these getters which will allow
methods in this class to see static variables from child classes
read-onlyoverride
-
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
read-onlyinherited
- canCreate → bool
-
read-onlyoverride
- canDestroy → bool
-
read-onlyoverride
- canUpdate → bool
-
read-onlyoverride
-
createAllowed
→ List<
String> -
read-onlyoverride
- createdAt → DateTime
-
read-onlyinherited
- createPathTemplate → String
-
read-onlyoverride
- dates → String
-
read-only
- declineReason → String
-
read-only
- defaultPathTemplate → String
-
read-onlyoverride
- fetched ↔ bool
-
indicate whether an item is full or partial
read / writeinherited
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- id → String?
-
read-onlyinherited
-
included
→ List<
PcoResource> -
contains included items parsed into objects
read-onlyinherited
-
includedPlanTimes
→ List<
PcoServicesPlanTime> -
read-only
- isCanAcceptPartial → bool
-
read-only
- isCanAcceptPartialOneTime → bool
-
read-only
- isPlanVisible → bool
-
read-only
- isPlanVisibleToMe → bool
-
read-only
-
links
→ ReadOnlyMapView<
String, dynamic> -
contains the links data returned by the api if present
read-onlyinherited
- needsSave → bool
-
read-onlyinherited
- organizationName → String
-
read-only
- organizationTimeZone → String
-
read-only
- organizationTwentyFourHourTime → String
-
read-only
- pcoApplication ↔ String
-
latefinalinherited
- personName → String
-
read-only
- positionDisplayTimes → String
-
read-only
-
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
read-onlyinherited
- resourceType ↔ String
-
all planning center resources must have a
type
latefinalinherited - respondsToName → String
-
read-only
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- serviceTypeName → String
-
read-only
- shortDates → String
-
read-only
- slug → String
-
read-onlyinherited
- sortDate → DateTime
-
read-only
- status → String
-
read-only
- teamName → String
-
read-only
- teamPositionName → String
-
read-only
-
updateAllowed
→ List<
String> -
read-onlyoverride
- updatedAt → DateTime
-
read-onlyinherited
Methods
-
accept(
Object data) → Future< PlanningCenterApiResponse< PlanningCenterApiData> > -
ACTION:
accept
-
coerceDouble(
dynamic a) → double -
inherited
-
coerceInt(
dynamic a) → int -
inherited
-
decline(
Object data) → Future< PlanningCenterApiResponse< PlanningCenterApiData> > -
ACTION:
decline
-
delete(
) → Future< PlanningCenterApiResponse< PlanningCenterApiData> > -
inherited
-
filteredAttributes(
List< String> allowedKeys) → Map<String, dynamic> -
inherited
-
fromJson(
Map< String, dynamic> data, {List<Map< ? withIncluded}) → dynamicString, dynamic> > -
Takes a full JSON:API Response Object (the contents of a "data" field)
will clear and update id, apiPath, attributes and
_relationships
inherited -
getDeclinedPlanTimes(
{PcoServicesPlanTimeQuery? query}) → Future< PcoCollection< PcoServicesPlanTime> > -
Will get a collection of PcoServicesPlanTime objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/services/v2/people/1/schedules/1/declined_plan_times
-
getPlanTimes(
{PcoServicesPlanTimeQuery? query}) → Future< PcoCollection< PcoServicesPlanTime> > -
Will get a collection of PcoServicesPlanTime objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/services/v2/people/1/schedules/1/plan_times
-
getRespondTo(
{PcoServicesPersonQuery? query}) → Future< PcoCollection< PcoServicesPerson> > -
Will get a collection of PcoServicesPerson objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/services/v2/people/1/schedules/1/respond_to
-
getTeam(
{PcoServicesTeamQuery? query}) → Future< PcoCollection< PcoServicesTeam> > -
Will get a collection of PcoServicesTeam objects (expecting one)
using a path like this:
https://api.planningcenteronline.com/services/v2/people/1/schedules/1/team
-
handleIncludes(
List< Map< included) → voidString, dynamic> > -
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< included = const []]) → Map<String, dynamic> >String, List< PcoResource> > -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent 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) operationsinherited -
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
read-only
-
canOrderBy
→ List<
String> -
possible orderings with parameter ?order=
read-only
-
canQuery
→ List<
String> -
possible queries using parameters like ?where
key
=value or ?wheregt|lt
=valueread-only
Static Methods
-
getAllFromPerson(
String personId, {String? id, PcoServicesScheduleQuery? query, bool includePlanTimes = false}) → Future< PcoCollection< PcoServicesSchedule> > -
Will get a
PcoCollection
containing ALL PcoServicesSchedule objects (expecting many) using a path like this:/services/v2/people/$personId/schedules
-
getFromPerson(
String personId, {String? id, PcoServicesScheduleQuery? query, bool getAll = false, bool includePlanTimes = false}) → Future< PcoCollection< PcoServicesSchedule> > -
Will get a
PcoCollection
of PcoServicesSchedule objects (expecting many) using a path like this:/services/v2/people/$personId/schedules
-
getMySchedulesFromServiceTypeAndPlan(
String serviceTypeId, String planId, {PcoServicesScheduleQuery? query, bool getAll = false, bool includePlanTimes = false}) → Future< PcoCollection< PcoServicesSchedule> > -
Will get a
PcoCollection
of PcoServicesSchedule objects (expecting one) using a path like this:/services/v2/service_types/$serviceTypeId/plans/$planId/my_schedules
-
getSingleFromPerson(
String personId, String id, {PcoServicesScheduleQuery? query, bool includePlanTimes = false}) → Future< PcoServicesSchedule?> -
Will get a single
PcoServicesSchedule
object using a path like this:/services/v2/people/$personId/schedules/[id]
Constants
- kApiVersion → const String
-
'2018-11-01'
- kCanAcceptPartial → const String
-
'can_accept_partial'
- kCanAcceptPartialOneTime → const String
-
'can_accept_partial_one_time'
- kCreatePathTemplate → const String
-
'null'
- kDates → const String
-
'dates'
- kDeclineReason → const String
-
'decline_reason'
- kDefaultPathTemplate → const String
-
'https://api.planningcenteronline.com/services/v2/people/1/schedules'
- kId → const String
-
'id'
- kOrganizationName → const String
-
'organization_name'
- kOrganizationTimeZone → const String
-
'organization_time_zone'
- kOrganizationTwentyFourHourTime → const String
-
'organization_twenty_four_hour_time'
- kPcoApplication → const String
-
'services'
- kPersonName → const String
-
'person_name'
- kPlanVisible → const String
-
'plan_visible'
- kPlanVisibleToMe → const String
-
'plan_visible_to_me'
- kPositionDisplayTimes → const String
-
'position_display_times'
- kRespondsToName → const String
-
'responds_to_name'
- kServiceTypeName → const String
-
'service_type_name'
- kShortDates → const String
-
'short_dates'
- kSortDate → const String
-
'sort_date'
- kStatus → const String
-
'status'
- kTeamName → const String
-
'team_name'
- kTeamPositionName → const String
-
'team_position_name'
- kTypeId → const String
-
'schedule'
- kTypeString → const String
-
'Schedule'