Developers
How can we help you?
Linear scheduling
Note: that only Mediagenix On-Demand accounts configured for catch-up will expose linear schedulings in the API.
A linear scheduling is an entry of the schedule of a linear channel. It represents a program broadcasted in a TV network in a specific time slot. The term Program can be used as a synonym of linear scheduling and it will in this documentation.
This is how a linear scheduling looks like in the API:
<?xml version="1.0" encoding="UTF-8"?>
<linear-scheduling>
<id type="integer">1234</id>
<begins-at type="datetime">2010-10-30T10:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T11:30:00Z</ends-at>
<external-id>A12345</external-id>
<costed-run>1</costed-run>
<rerun>0</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/1234"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/123"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/234"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"/>
</linear-scheduling>
{
"resource_type": "linear_scheduling",
"id": 1234,
"begins_at": "2010-10-30T10:30:00Z",
"ends_at": "2010-10-30T11:30:00Z",
"external_id": "A12345",
"costed_run": 1,
"rerun": 0,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/1234",
"title_link": "https://movida.bebanjo.net/api/titles/123",
"asset_link": "https://movida.bebanjo.net/api/assets/234",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/3",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"
}
Valid attributes
id
(required): Mediagenix On-Demand internal identifier of the linear scheduling. It shouldn’t be provided in the creation of the resource, because Mediagenix On-Demand will assign that value.external-id
(optional): the identifier of the linear scheduling in the external system. If provided, it has to be unique in the scope of the company.begins-at
(required): defines when the linear scheduling starts.ends-at
(required): defines when the linear scheduling ends.costed-run
(optional): run number in contract, which is the costed run (transmission) of a linear scheduling across linear channels; a contract allows for a given number of costed runs (transmissions) for each linear scheduling and on top of this a given number of reruns are allowed. Defaults to zero.rerun
(optional): the number of rerun of this linear scheduling. Defaults to zero. When the value is zero it means the linear scheduling is a costed run (transmission) of the linear scheduling.linear-contract-id
(optional): the identifier of the Linear contract in the external system. It allows to target costed run and reruns for the Linear contract specified.
Get the list of all the linear schedulings of a channel
Linear schedulings are accessed from the linear channel they are related to through the link identified as rel="linear_schedulings"
:
<?xml version="1.0" encoding="UTF-8"?>
<linear-channel>
<id type="integer">3</id>
<name>BBC 1</name>
<external-id>BBC1</external-id>
<timezone nil="true"/>
<link rel="self" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="linear_schedulings" href="https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings"/>
</linear-channel>
{
"resource_type": "linear_channel",
"id": 3,
"name": "BBC 1",
"external_id": "BBC1",
"timezone": null,
"self_link": "https://movida.bebanjo.net/api/linear_channels/3",
"linear_schedulings_link": "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings"
}
Following that link, we can fetch the Channel’s linear schedulings.
$ curl --digest -u robot_user:password https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?page=2
$ curl --digest -u robot_user:password -H "Accept: application/json" https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?page=2
<?xml version="1.0" encoding="UTF-8"?>
<linear-schedulings type="array">
<total-entries>4304</total-entries>
<link rel="next" href="https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?page=1"/>
<link rel="prev" href="https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?page=3"/>
<linear-scheduling>
<id type="integer">1234</id>
<begins-at type="datetime">2010-10-30T10:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T11:30:00Z</ends-at>
<external-id>BBC123456</external-id>
<costed-run>1</costed-run>
<rerun>0</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/1234"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/123"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/234"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"/>
</linear-scheduling>
<linear-scheduling>
<id type="integer">1235</id>
<begins-at type="datetime">2010-10-30T11:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T12:30:00Z</ends-at>
<external-id>BBC2222222</external-id>
<costed-run>1</costed-run>
<rerun>0</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/1235"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/233"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/745"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/1235/schedulings"/>
</linear-scheduling>
<!-- ... -->
<linear-schedulings>
{
"total_entries": 4304,
"prev_link": "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?page=1",
"next_link": "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?page=3",
"entries": [
{
"resource_type": "linear_scheduling",
"id": 1234,
"begins_at": "2010-10-30T10:30:00Z",
"ends_at": "2010-10-30T11:30:00Z",
"external_id": "BBC123456",
"costed_run": 1,
"rerun": 0,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/1234",
"title_link": "https://movida.bebanjo.net/api/titles/123",
"asset_link": "https://movida.bebanjo.net/api/assets/234",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/3",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"
},
{
"resource_type": "linear_scheduling",
"id": 1235,
"begins_at": "2010-10-30T11:30:00Z",
"ends_at": "2010-10-30T12:30:00Z",
"external_id": "BBC2222222",
"costed_run": 1,
"rerun": 0,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/1235",
"title_link": "https://movida.bebanjo.net/api/titles/233",
"asset_link": "https://movida.bebanjo.net/api/assets/745",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/3",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/1235/schedulings"
},
// ...
]
}
The list of linear schedulings of the Channel will be returned sorted by begins-at
date.
Note that this is a paginated resource. By default, only 50 linear_schedulings will be included in each page but you can override this default by using the per_page
parameter described in the next section. The total-entries
attribute will indicate the total number of entries and the links rel="next"
and rel="prev"
should be used to get the next and the previous pages.
Valid attributes
You can filter the list of linear schedulings returned using the following attributes:
-
from
: It will return only linear schedulings ending after the given date. The value has to be a valid ISO 8601 datetime (e.g. 2010-10-10T10:30:20Z). The Timezone is optional and when omitted the timezone of the channel will be used. If channel timezone is not set the default timezone of the account will be used. The Time is also optional and when omitted 00:00:00 will be used. -
to
: It will return only linear schedulings starting before the given date. The value has to be a valid ISO 8601 datetime (e.g. 2010-10-10T10:30:20Z). The Timezone is optional and when omitted the timezone of the channel will be used. If channel timezone is not set the default timezone of the account will be used. The Time is also optional and when omitted 23:59:59 will be used. -
external_id
: It will return only the linear scheduling with the given External ID (if any). -
per_page
: Number of elements returned in each page. The maximum value allowed is 200 and the default is 50.
The three first attributes can be combined and, when so, only the linear schedulings satisfying all the filters will be returned.
Get a list of linear schedule entries based on the TV day (Day start time) of a channel
You might consider this as a specialized use case of the above one. In order to trigger this behaviour, the user must provide identical values for the from
and to
attributes. Both attributes are mandatory, and should only contain the date part. Hence, the time part should be omitted. All the other restrictions about the space of valid values for from
and to
still apply.
For example, given a linear channel whose day start time attribute is set to 6:00, the following link will return those linear schedule entries (in the channel) starting in between 2010-10-10T06:00 and 2010-10-11T05:59:59.
$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?from=2010-10-10&to=2010-10-10"
$ curl --digest -u robot_user:password -H "Accept: application/json" "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings?from=2010-10-10&to=2010-10-10"
If the channel day start time is not set, 00:00:00 and 23:59:59 will be used instead.
Get a single linear scheduling given its URL
The self
link of a linear scheduling contains a URL that will allow us to fetch that individual linear scheduling:
$ curl --digest -u robot_user:password https://movida.bebanjo.net/api/linear_scheduling/1234
$ curl --digest -u robot_user:password -H "Accept: application/json" https://movida.bebanjo.net/api/linear_scheduling/1234
<?xml version="1.0" encoding="UTF-8"?>
<linear-scheduling>
<id type="integer">1234</id>
<begins-at type="datetime">2010-10-30T10:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T11:30:00Z</ends-at>
<external-id>BBC123456</external-id>
<costed-run>2</costed-run>
<rerun>1</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/1234"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/123"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/234"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"/>
</linear-scheduling>
{
"resource_type": "linear_scheduling",
"id": 1234,
"begins_at": "2010-10-30T10:30:00Z",
"ends_at": "2010-10-30T11:30:00Z",
"external_id": "BBC123456",
"costed_run": 2,
"rerun": 1,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/1234",
"title_link": "https://movida.bebanjo.net/api/titles/123",
"asset_link": "https://movida.bebanjo.net/api/assets/234",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/3",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"
}
Create a new linear scheduling for a Channel
To create a linear scheduling, you just need to POST
the proper representation of a linear scheduling (similar to the ones you get when fetching) to the URL that you can find in the link rel="linear_schedulings"
of the linear channel you want to add the linear scheduling to.
For example, this POST
would create a linear scheduling: (we’ll use curl’s @ option, which reads the data that is to be posted to the URL from a file)
$ cat payload.xml
$ cat payload.json
<?xml version="1.0" encoding="UTF-8"?>
<linear-scheduling>
<begins-at type="datetime">2010-10-30T10:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T11:30:00Z</ends-at>
<external-id>BBC123456</external-id>
<costed-run>2</costed-run>
<rerun>1</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="title" href="https://movida.bebanjo.net/api/titles/123"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/234"/>
</linear-scheduling>
{
"begins_at": "2010-10-30T10:30:00Z",
"ends_at": "2010-10-30T11:30:00Z",
"external_id": "BBC123456",
"costed_run": 2,
"rerun": 1,
"linear_contract_id": "TD/2022E84",
"title_link": "https://movida.bebanjo.net/api/titles/123",
"asset_link": "https://movida.bebanjo.net/api/assets/234"
}
$ curl --digest -u robot_user:password -H "Content-Type: application/xml" -X POST -d @payload.xml "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings"
$ curl --digest -u robot_user:password -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d @payload.json "https://movida.bebanjo.net/api/linear_channels/3/linear_schedulings"
Mediagenix On-Demand will return the full XML/JSON of the linear scheduling just created:
<?xml version="1.0" encoding="UTF-8"?>
<linear-scheduling>
<id type="integer">1234</id>
<begins-at type="datetime">2010-10-30T10:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T11:30:00Z</ends-at>
<external-id>BBC123456</external-id>
<costed-run type="integer">2</costed-run>
<rerun type="integer">1</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/1234"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/123"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/234"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"/>
</linear-scheduling>
{
"resource_type": "linear_scheduling",
"id": 1234,
"begins_at": "2010-10-30T10:30:00Z",
"ends_at": "2010-10-30T11:30:00Z",
"external_id": "BBC123456",
"costed_run": 2,
"rerun": 1,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/1234",
"title_link": "https://movida.bebanjo.net/api/titles/123",
"asset_link": "https://movida.bebanjo.net/api/assets/234",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/3",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"
}
Please, see in a section below a few remarks to bear in mind when creating a linear scheduling.
Updating a linear scheduling
You can update an existing linear scheduling sending a PUT
request to the URL of the linear scheduling (that you can get from its link rel="self"
). You only need to include those attributes of the linear scheduling that you wish to update:
$ cat payload.xml
$ cat payload.json
<?xml version="1.0" encoding="UTF-8"?>
<linear-scheduling>
<begins-at type="datetime">2010-10-30T11:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T12:30:00Z</ends-at>
<costed-run type="integer">2</costed-run>
<rerun type="integer">3</rerun>
<linear-contract-id>HD/2021E43</linear-contract-id>
</linear-scheduling>
{
"begins_at": "2010-10-30T11:30:00Z",
"ends_at": "2010-10-30T12:30:00Z",
"costed_run": 2,
"rerun": 3,
"linear_contract_id": "HD/2021E43"
}
$ curl --digest -u robot_user:password -H "Content-Type: application/xml" -X PUT -d @payload.xml "https://movida.bebanjo.net/api/linear_schedulings/1234"
$ curl --digest -u robot_user:password -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d @payload.json "https://movida.bebanjo.net/api/linear_schedulings/1234"
Mediagenix On-Demand will return the full XML/JSON of the linear scheduling just updated:
<?xml version="1.0" encoding="UTF-8"?>
<linear-scheduling>
<id type="integer">1234</id>
<begins-at type="datetime">2010-10-30T11:30:00Z</begins-at>
<ends-at type="datetime">2010-10-30T12:30:00Z</ends-at>
<external-id>BBC123456</external-id>
<costed-run type="integer">2</costed-run>
<rerun type="integer">3</rerun>
<linear-contract-id>HD/2021E43</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/1234"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/123"/>
<link rel="asset" href="https://movida.bebanjo.net/api/assets/234"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/3"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"/>
</linear-scheduling>
{
"resource_type": "linear_scheduling",
"id": 1234,
"begins_at": "2010-10-30T11:30:00Z",
"ends_at": "2010-10-30T12:30:00Z",
"external_id": "BBC123456",
"costed_run": 2,
"rerun": 3,
"linear_contract_id": "HD/2021E43",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/1234",
"title_link": "https://movida.bebanjo.net/api/titles/123",
"asset_link": "https://movida.bebanjo.net/api/assets/234",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/3",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"
}
Please, see in a section below a few remarks to bear in mind when updating a linear scheduling.
Updating the linear schedule
What if you want to update your linear schedule, but you don’t want to delete your schedule for an entire day and then create a new one? We have you covered. With some additional steps, you can revise your linear schedule and save yourself the time and effort of re-creating an whole day’s worth of schedulings.
When processing the linear schedule for a channel, you would do the following for each linear scheduling:
- Check whether there’s already something in its time-slot, and
- if an exact match is returned, then do nothing, or
- if nothing is returned, create the linear scheduling, else
- delete whatever is returned and create the new linear scheduling.
So, let’s assume that you want to create a single linear scheduling starting at 05:05 and ending at 05:40 on 12 February for TV3 Sweden; in that case, you would perform a request like this:
$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/linear_channels/1/linear_schedulings?from=2019-02-12T05:05:00%2b01:00&to=2019-02-12T05:40:00%2b01:00"
$ curl --digest -u robot_user:password -H "Accept: application/json" "https://movida.bebanjo.net/api/linear_channels/1/linear_schedulings?from=2019-02-12T05:05:00%2b01:00&to=2019-02-12T05:40:00%2b01:00"
Which would return:
<linear-schedulings type="array">
<total-entries>2</total-entries>
<linear-scheduling>
<id type="integer">123</id>
<begins-at type="datetime">2019-02-12T05:05:00+01:00</begins-at>
<ends-at type="datetime">2019-02-12T05:30:00+01:00</ends-at>
<external-id>BBC123456</external-id>
<costed-run type="integer">1</costed-run>
<rerun type="integer">0</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/123"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/1"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/1"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/123/schedulings"/>
</linear-scheduling>
<linear-scheduling>
<id type="integer">234</id>
<begins-at type="datetime">2019-02-12T05:30:00+01:00</begins-at>
<ends-at type="datetime">2019-02-12T06:00:00+01:00</ends-at>
<external-id>BBC123457</external-id>
<costed-run type="integer">1</costed-run>
<rerun type="integer">0</rerun>
<linear-contract-id>TD/2022E84</linear-contract-id>
<link rel="self" href="https://movida.bebanjo.net/api/linear_schedulings/234"/>
<link rel="title" href="https://movida.bebanjo.net/api/titles/1"/>
<link rel="linear_channel" href="https://movida.bebanjo.net/api/linear_channels/1"/>
<link rel="schedulings" href="https://movida.bebanjo.net/api/linear_schedulings/234/schedulings"/>
</linear-scheduling>
</linear-schedulings>
{
"total_entries": 2,
"entries": [
{
"resource_type": "linear_scheduling",
"id": 123,
"begins_at": "2019-02-12T05:05:00+01:00",
"ends_at": "2019-02-12T05:30:00+01:00",
"external_id": "BBC123456",
"costed_run": 1,
"rerun": 0,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/123",
"title_link": "https://movida.bebanjo.net/api/titles/1",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/1",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/123/schedulings"
},
{
"resource_type": "linear_scheduling",
"id": 234,
"begins_at": "2019-02-12T05:30:00+01:00",
"ends_at": "2019-02-12T06:00:00+01:00",
"external_id": "BBC123457",
"costed_run": 1,
"rerun": 0,
"linear_contract_id": "TD/2022E84",
"self_link": "https://movida.bebanjo.net/api/linear_schedulings/234",
"title_link": "https://movida.bebanjo.net/api/titles/1",
"linear_channel_link": "https://movida.bebanjo.net/api/linear_channels/1",
"schedulings_link": "https://movida.bebanjo.net/api/linear_schedulings/234/schedulings"
}
]
}
In order to create a new, single scheduling in the specified timeslot, you would need to delete both of the existing schedule entries and create a new linear scheduling starting at 05:05 and ending at 05:40; it’s then assumed that there’s something new for 05:40 to 06:00 (which would be created subsequently).
Don’t forget to check out the additional “remarks when creating, updating and deleting a linear scheduling” for more helpful information.
Deleting a linear scheduling
You can also delete a linear scheduling using a DELETE request to the linear scheduling URL:
$ curl --digest -u robot_user:password -X DELETE "https://movida.bebanjo.net/api/linear_schedulings/1234"
$ curl --digest -u robot_user:password -H "Accept: application/json" -X DELETE "https://movida.bebanjo.net/api/linear_schedulings/1234"
Please, see in a section below a few remarks to bear in mind when deleting a linear scheduling.
Remarks when creating, updating and deleting a linear scheduling
-
The
begins-at
andends-at
of a linear scheduling must never overlap with any other existing linear scheduling in the same Channel. When a creation or an update of a linear scheduling would violate this constrain, a validation error will be returned. -
If the
asset
link is given when POSTing or PUTing a linear scheduling, then there’s no need to specify thetitle
link as this will be set automatically to the title of the asset. -
After creating, updating or deleting a linear scheduling, Mediagenix On-Demand will automatically reapply whatever Catch-up Rights and Rules might affect to the Title of the linear scheduling. That means that the VOD Schedule is always kept consistent with the changes in the Linear Schedule according to the Rights and Rules recorded in the current account.
-
As a consequence of the previous point, deleting a Linear Scheduling will cause any related entry in the VOD Schedules to be deleted too. However, the deletion of any VOD Scheduling (along with its metadata, publications, Sequence workflows, etc.) will only be effective 1 hour after the related Linear Scheduling is deleted. During that time, if a new Linear Scheduling is created for the same title, instead of deleting the VOD Scheduling, Mediagenix On-Demand will associate it to the new Linear Scheduling.
This behaviour makes possible to update Linear Schedules by deleting and recreating their entries in a safe manner: Any affected VOD Scheduling and its related data (metadata, Sequence workflows, etc.) won’t be lost as long as the deletion and recreation of each Linear Scheduling occur within 1 hour.