<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://docs.motiontools.io/announcements/feed/Deprecations.xml" rel="self" type="application/atom+xml" /><link href="https://docs.motiontools.io/announcements/" rel="alternate" type="text/html" /><updated>2026-04-15T08:56:49+00:00</updated><id>https://docs.motiontools.io/announcements/feed/Deprecations.xml</id><title type="html">MotionTools API Announcements | Deprecations</title><subtitle>This site provides updates about MotionTools API changes and related new features as well as upcoming and past deprecations.</subtitle><entry><title type="html">Deprecation of active_hailing_booking_ids user field</title><link href="https://docs.motiontools.io/announcements/deprecations/2026/03/11/deprecation-of-active-hailing-booking-ids.html" rel="alternate" type="text/html" title="Deprecation of active_hailing_booking_ids user field" /><published>2026-03-11T00:00:00+00:00</published><updated>2026-03-11T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2026/03/11/deprecation-of-active-hailing-booking-ids</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2026/03/11/deprecation-of-active-hailing-booking-ids.html"><![CDATA[<p>The <code class="language-plaintext highlighter-rouge">active_hailing_booking_ids</code> field on the User resource is now deprecated and will be removed in a future release. This only affects List Users and Show User endpoints.</p>

<p>As part of the ongoing transition from booking to tour terminology, this field has been replaced by <code class="language-plaintext highlighter-rouge">active_tour_id</code>, which returns the ID of the driver’s currently active tour as a single value (or null when idle).</p>

<p><strong>Changes:</strong></p>
<ul>
  <li>A new <code class="language-plaintext highlighter-rouge">active_tour_id</code> field is now available on the User resource when the resource is a driver</li>
  <li>The existing <code class="language-plaintext highlighter-rouge">active_hailing_booking_ids</code> array field continues to work but is deprecated</li>
  <li><code class="language-plaintext highlighter-rouge">active_tour_id</code> returns a single UUID or null, replacing the array which only ever contained zero or one element</li>
</ul>

<p><strong>Migration:</strong>
Replace usage of <code class="language-plaintext highlighter-rouge">active_hailing_booking_ids</code> with <code class="language-plaintext highlighter-rouge">active_tour_id</code>:</p>

<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Before (active_hailing_booking_ids — array, always 0 or 1 elements)</span>
<span class="p">{</span> <span class="dl">"</span><span class="s2">active_hailing_booking_ids</span><span class="dl">"</span><span class="p">:</span> <span class="p">[</span><span class="dl">"</span><span class="s2">550e8400-e29b-41d4-a716-446655440000</span><span class="dl">"</span><span class="p">]</span> <span class="p">}</span>

<span class="c1">// After (active_tour_id — single value or null)</span>
<span class="p">{</span> <span class="dl">"</span><span class="s2">active_tour_id</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">550e8400-e29b-41d4-a716-446655440000</span><span class="dl">"</span> <span class="p">}</span>
</code></pre></div></div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/ListUsers" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">get</span>
        <span class="path">/api/users</span>
      </div>
      <div><span class="name">List Users</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/ShowUser" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">get</span>
        <span class="path">/api/users/{id}</span>
      </div>
      <div><span class="name">Show a user</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[The active_hailing_booking_ids field on the User resource is now deprecated and will be removed in a future release. This only affects List Users and Show User endpoints.]]></summary></entry><entry><title type="html">Deprecation of on_active_hailing_booking users filter</title><link href="https://docs.motiontools.io/announcements/deprecations/2026/02/24/deprecation-of-on-active-hailing-booking-filter.html" rel="alternate" type="text/html" title="Deprecation of on_active_hailing_booking users filter" /><published>2026-02-24T00:00:00+00:00</published><updated>2026-02-24T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2026/02/24/deprecation-of-on-active-hailing-booking-filter</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2026/02/24/deprecation-of-on-active-hailing-booking-filter.html"><![CDATA[<p>The <code class="language-plaintext highlighter-rouge">on_active_hailing_booking</code> filter parameter on the List Users endpoint is now deprecated and will be removed in a future release.</p>

<p>As part of the ongoing split between bookings and tours as distinct concepts, this filter has been replaced by <code class="language-plaintext highlighter-rouge">on_active_tour</code>, which provides the same functionality with naming that better reflects the underlying domain model.</p>

<p><strong>Changes:</strong></p>
<ul>
  <li>A new <code class="language-plaintext highlighter-rouge">on_active_tour</code> boolean filter is now available on the List Users endpoint</li>
  <li>The existing <code class="language-plaintext highlighter-rouge">on_active_hailing_booking</code> filter continues to work but is deprecated</li>
  <li>Both filters behave identically — filtering drivers by whether they currently have an active tour</li>
</ul>

<p><strong>Migration:</strong>
Replace <code class="language-plaintext highlighter-rouge">on_active_hailing_booking</code> with <code class="language-plaintext highlighter-rouge">on_active_tour</code> in your API calls:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Before
GET /api/users?filters[on_active_hailing_booking]=true

# After
GET /api/users?filters[on_active_tour]=true
</code></pre></div></div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/ListUsers" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">get</span>
        <span class="path">/api/users</span>
      </div>
      <div><span class="name">List Users</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[The on_active_hailing_booking filter parameter on the List Users endpoint is now deprecated and will be removed in a future release.]]></summary></entry><entry><title type="html">Deprecation of gradual_rollout_frequency_seconds</title><link href="https://docs.motiontools.io/announcements/deprecations/2026/01/28/deprecation-of-gradual-rollout-frequency-seconds.html" rel="alternate" type="text/html" title="Deprecation of gradual_rollout_frequency_seconds" /><published>2026-01-28T00:00:00+00:00</published><updated>2026-01-28T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2026/01/28/deprecation-of-gradual-rollout-frequency-seconds</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2026/01/28/deprecation-of-gradual-rollout-frequency-seconds.html"><![CDATA[<p>The <code class="language-plaintext highlighter-rouge">gradual_rollout_frequency_seconds</code> field on scheduling configs is now deprecated and will be removed in a future release.</p>

<p>This field was previously used to configure the frequency at which the next driver would be looked up for marking as preferred during gradual rollout. With the removal of the <code class="language-plaintext highlighter-rouge">per_tour</code> gradual rollout mode, this configuration is no longer used - the frequency is now controlled by an environment variable.</p>

<p><strong>Changes:</strong></p>
<ul>
  <li>The field now always returns <code class="language-plaintext highlighter-rouge">null</code> regardless of the stored value</li>
  <li>Providing this field in create/update requests is still accepted but has no effect</li>
</ul>

<p><strong>Migration:</strong>
No action is required. The field will continue to be returned in API responses (with the value <code class="language-plaintext highlighter-rouge">null</code>) until it is removed.</p>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/ShowSchedulingConfig" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">get</span>
        <span class="path">/api/admin/hailing/scheduling_configs/{id}</span>
      </div>
      <div><span class="name">Show a scheduling config</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateSchedulingConfig" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">put</span>
        <span class="path">/api/admin/hailing/scheduling_configs/{id}</span>
      </div>
      <div><span class="name">Update a scheduling config</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[The gradual_rollout_frequency_seconds field on scheduling configs is now deprecated and will be removed in a future release.]]></summary></entry><entry><title type="html">Removal of hailing_booking/preferred_drivers endpoint</title><link href="https://docs.motiontools.io/announcements/deprecations/2025/11/19/removal-of-hailing-bookings-preferred-drivers-endpoint.html" rel="alternate" type="text/html" title="Removal of hailing_booking/preferred_drivers endpoint" /><published>2025-11-19T00:00:00+00:00</published><updated>2025-11-19T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2025/11/19/removal-of-hailing-bookings-preferred-drivers-endpoint</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2025/11/19/removal-of-hailing-bookings-preferred-drivers-endpoint.html"><![CDATA[<p>To align the existing endpoints with our new naming conventions,
we are removing the <code class="language-plaintext highlighter-rouge">/api/hailing_bookings/:id/preferred_drivers</code> endpoint.</p>

<p>Instead, you should switch to the dedicated endpoint for tours or bookings.</p>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/TourAddPreferredDrivers" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">put</span>
        <span class="path">/api/tours/{id}/preferred_drivers</span>
      </div>
      <div><span class="name">Set preferred drivers</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/BookingAddPreferredDrivers" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">put</span>
        <span class="path">/api/bookings/{id}/preferred_drivers</span>
      </div>
      <div><span class="name">Set preferred drivers</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[To align the existing endpoints with our new naming conventions, we are removing the /api/hailing_bookings/:id/preferred_drivers endpoint.]]></summary></entry><entry><title type="html">Removal of return_to_hub property on tour response</title><link href="https://docs.motiontools.io/announcements/deprecations/2025/06/19/removal-of-tour-return_to_hub-property.html" rel="alternate" type="text/html" title="Removal of return_to_hub property on tour response" /><published>2025-06-19T00:00:00+00:00</published><updated>2025-06-19T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2025/06/19/removal-of-tour-return_to_hub-property</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2025/06/19/removal-of-tour-return_to_hub-property.html"><![CDATA[<p>We are removing the <code class="language-plaintext highlighter-rouge">return_to_hub</code> property returned on the standard response for bookings &amp; tours.</p>

<p>This property has become obsolete in early 2024 with the introduction of our flexible package tours product,
allowing any tour to have arbitrary stops as desired, and hasn’t been used for some time. We are now fully
removing it from our API responses.</p>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[We are removing the return_to_hub property returned on the standard response for bookings &amp; tours.]]></summary></entry><entry><title type="html">Removal of generic force_delivery package transition</title><link href="https://docs.motiontools.io/announcements/deprecations/2025/05/22/removal-of-generic-force_delivery.html" rel="alternate" type="text/html" title="Removal of generic force_delivery package transition" /><published>2025-05-22T00:00:00+00:00</published><updated>2025-05-22T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2025/05/22/removal-of-generic-force_delivery</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2025/05/22/removal-of-generic-force_delivery.html"><![CDATA[<p>Due to the introduction of configurable off-tour package delivery proofs we are replacing the generic <code class="language-plaintext highlighter-rouge">force_delivery</code> 
transition with a dedicated endpoint.</p>

<p>This change became necessary since depending on the configuration a forced delivery now requires additional
data for proofs to be provided, which wasn’t possible with the generic transition.</p>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/ForceDeliverHailingPackage" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">post</span>
        <span class="path">/api/hailing/packages/{id}/force_delivery</span>
      </div>
      <div><span class="name">Mark package as delivered</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[Due to the introduction of configurable off-tour package delivery proofs we are replacing the generic force_delivery transition with a dedicated endpoint.]]></summary></entry><entry><title type="html">Adjusted indication for ability to remove package from tour</title><link href="https://docs.motiontools.io/announcements/deprecations/2025/02/26/package-lookup-removal-permissions.html" rel="alternate" type="text/html" title="Adjusted indication for ability to remove package from tour" /><published>2025-02-26T00:00:00+00:00</published><updated>2025-02-26T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2025/02/26/package-lookup-removal-permissions</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2025/02/26/package-lookup-removal-permissions.html"><![CDATA[<p>On the package lookup endpoint we are renaming the <code class="language-plaintext highlighter-rouge">removable_from_dropoff_tour</code> permission indicator
to the standardized <code class="language-plaintext highlighter-rouge">permissions.removable</code> property.</p>

<p>We normally indicate granular permissions for specific interactions in the <code class="language-plaintext highlighter-rouge">permissions</code> object on responses. While
the permission to remove a certain package was already indicated, it doesn’t only apply to dropoff tours, and wasn’t
in the right namespace to ease API consumption, therefore we are replacing it with this new standardized property.</p>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/LookupPackage" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">post</span>
        <span class="path">/api/hailing/packages/lookup</span>
      </div>
      <div><span class="name">Lookup package by shortcode or external label</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[On the package lookup endpoint we are renaming the removable_from_dropoff_tour permission indicator to the standardized permissions.removable property.]]></summary></entry><entry><title type="html">Removal of hailing_booking.* webhooks</title><link href="https://docs.motiontools.io/announcements/deprecations/2025/01/15/removal-of-hailing_booking-webhook-namespace.html" rel="alternate" type="text/html" title="Removal of hailing_booking.* webhooks" /><published>2025-01-15T00:00:00+00:00</published><updated>2025-01-15T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2025/01/15/removal-of-hailing_booking-webhook-namespace</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2025/01/15/removal-of-hailing_booking-webhook-namespace.html"><![CDATA[<p>Due to the ongoing split between bookings and tours, we are deprecating a wide range of webhook events that were shared between
both bookings and tours in the past, replacing them with booking and tour specific replacements where suitable.</p>

<p>In early 2024 we have changed the behaviour of our platform to make the distinction between bookings and tours clearer - bookings represent
customer demand, while tours are responsible for the (optionally optimized) execution of such bookings by drivers. As a consequence of this,
since then drivers cannot directly accept regular bookings anymore, with wide-ranging consequences to the events and flow a booking and a tour
can have.</p>

<p>So far, many of our webhook events were shared between bookings and tours however, in the <code class="language-plaintext highlighter-rouge">hailing_booking.*</code> namespace. We are replacing these
with dedicated events that more closely reflect the actual possibilities and lifecycles of their corresponding data models.</p>

<p>Please update all your webhook receiving endpoints and configurations accordingly to utilize the new events instead:</p>

<h4 id="booking-events">Booking events</h4>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.booking.created" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">booking.created</span>
      </div>
      <div><span class="name">Published when a new booking has been created</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.booking.etas_recalculated" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">booking.etas_recalculated</span>
      </div>
      <div><span class="name">Published when the ETAs for the booking's stops have been recalculated.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.booking.modified" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">booking.modified</span>
      </div>
      <div><span class="name">Published when some part of booking is modified, e.g. when stops are changed.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.booking.route_changed" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">booking.route_changed</span>
      </div>
      <div><span class="name">Published when the route of a booking has changed, i.e. by adding or removing stops, changing
their locations, changing their order and so on.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.booking.transition" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">booking.transition</span>
      </div>
      <div><span class="name">Indicates a change of status of a booking.</span></div>
    </div>
  </a>
</div>

<h4 id="tour-events">Tour events</h4>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.active_status_changed" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.active_status_changed</span>
      </div>
      <div><span class="name">Notifies drivers about change of active status of a tour.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.created" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.created</span>
      </div>
      <div><span class="name">Published when a new tour has been created</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.driver_location_updated" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.driver_location_updated</span>
      </div>
      <div><span class="name">Published when a driver sent an updated GPS location that affects an ongoing tour.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.etas_recalculated" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.etas_recalculated</span>
      </div>
      <div><span class="name">Published when the ETAs for the tour's stops have been recalculated.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.force_assigned" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.force_assigned</span>
      </div>
      <div><span class="name">Notifies about a tour being forcefully assigned to a driver.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.force_unassigned" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.force_unassigned</span>
      </div>
      <div><span class="name">Notifies about tour being forcefully un-assigned from a driver.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.modified" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.modified</span>
      </div>
      <div><span class="name">Published when some part of the tour is modified, e.g. when stops are changed.

For **drivers** it's only published while the booking is in `en_route` state.

When the tour doesn't have a driver yet, then it's published to the service area drivers channel.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.route_changed" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.route_changed</span>
      </div>
      <div><span class="name">Published when the route of a tour has changed, i.e. by adding or removing stops, changing
their locations, changing their order and so on.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.stats_updated" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.stats_updated</span>
      </div>
      <div><span class="name">Published when the tour's statistic or the route estimate gets changed.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.stop_transition" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.stop_transition</span>
      </div>
      <div><span class="name">Indicates a change of status for a specific stop of a tour.</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/webhook.tour.transition" data-tooltip="Open webhook documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">Webhook</span>
        <span class="path">tour.transition</span>
      </div>
      <div><span class="name">Indicates a change of status of a tour.</span></div>
    </div>
  </a>
</div>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[Due to the ongoing split between bookings and tours, we are deprecating a wide range of webhook events that were shared between both bookings and tours in the past, replacing them with booking and tour specific replacements where suitable.]]></summary></entry><entry><title type="html">Simplified stop update routes</title><link href="https://docs.motiontools.io/announcements/deprecations/2024/08/13/simplified-stop-update-routes.html" rel="alternate" type="text/html" title="Simplified stop update routes" /><published>2024-08-13T00:00:00+00:00</published><updated>2024-08-13T00:00:00+00:00</updated><id>https://docs.motiontools.io/announcements/deprecations/2024/08/13/simplified-stop-update-routes</id><content type="html" xml:base="https://docs.motiontools.io/announcements/deprecations/2024/08/13/simplified-stop-update-routes.html"><![CDATA[<p>We have added simplified routes for granular stop data editing endpoints.</p>

<p>Historically, to update a stop’s information you had to also supply the corresponding booking ID, for example
at <code class="language-plaintext highlighter-rouge">/api/hailing/bookings/:booking_id/stops/:stop_id/metadata</code>. Due to the ongoing split between bookings and tours 
you would also in the future have needed to call different endpoints depending on whether it’s a tour or booking stop.</p>

<p>To simplify this, we have removed the booking and tour namespacing from endpoints related to editing stop data, linked below.
All of the endpoints now follow the route schema <code class="language-plaintext highlighter-rouge">/api/stops/:id/[endpoint]</code>.</p>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateStopAdditionalInformation" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">patch</span>
        <span class="path">/api/stops/{stop_id}/additional_information</span>
      </div>
      <div><span class="name">Update Additional Information</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateStopArrivalTimes" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">patch</span>
        <span class="path">/api/stops/{stop_id}/arrival_times</span>
      </div>
      <div><span class="name">Update Arrival Times</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateStopContact" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">patch</span>
        <span class="path">/api/stops/{stop_id}/contact</span>
      </div>
      <div><span class="name">Update Contact Details</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateHailingStopContent" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">put</span>
        <span class="path">/api/stops/{stop_id}/content</span>
      </div>
      <div><span class="name">Update Custom Content</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/HailingCompleteStop" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">post</span>
        <span class="path">/api/stops/{stop_id}/complete</span>
      </div>
      <div><span class="name">Complete stop</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/HailingFailStop" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">post</span>
        <span class="path">/api/stops/{stop_id}/fail</span>
      </div>
      <div><span class="name">Fail stop</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateStopLocation" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">patch</span>
        <span class="path">/api/stops/{stop_id}/location</span>
      </div>
      <div><span class="name">Update Location</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/OverwriteStopMetadata" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">put</span>
        <span class="path">/api/stops/{stop_id}/metadata</span>
      </div>
      <div><span class="name">Update Stop's Metadata</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/PatchStopMetadata" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">patch</span>
        <span class="path">/api/stops/{stop_id}/metadata</span>
      </div>
      <div><span class="name">Partially Update Stop's Metadata</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/UpdateStopProperties" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">patch</span>
        <span class="path">/api/stops/{stop_id}/properties</span>
      </div>
      <div><span class="name">Update Stop Properties</span></div>
    </div>
  </a>
</div>

<div class="openapi-endpoint">
  <a href="https://docs.motiontools.io/#operation/TransitionHailingBookingStop" data-tooltip="Open endpoint documentation in OpenAPI">
    <div class="grid">
      <div>
        <span class="request-method">put</span>
        <span class="path">/api/stops/{stop_id}/transition</span>
      </div>
      <div><span class="name">Perform Stop Transition</span></div>
    </div>
  </a>
</div>

<p><br /></p>

<p>The old routes remain supported for the time being but will be removed in the future.</p>]]></content><author><name></name></author><category term="Deprecations" /><summary type="html"><![CDATA[We have added simplified routes for granular stop data editing endpoints.]]></summary></entry></feed>