diff --git a/source/data-formats.txt b/source/data-formats.txt
new file mode 100644
index 00000000..882ce52d
--- /dev/null
+++ b/source/data-formats.txt
@@ -0,0 +1,34 @@
+.. _ruby-data-formats:
+
+============
+Data Formats
+============
+
+.. contents:: On this page
+   :local:
+   :backlinks: none
+   :depth: 2
+   :class: singlecol
+
+.. facet::
+   :name: genre
+   :values: reference
+
+.. meta::
+   :description: Learn how to use indexes by using the MongoDB Ruby Driver.
+   :keywords: ruby, query, collections, time series
+
+.. toctree::
+   :titlesonly:
+   :maxdepth: 1
+
+   Time Series Data </data-formats/time-series>
+
+Overview
+--------
+
+You can use several types of specialized data formats in your {+driver-short+}
+application. To learn how to work with these data formats, see the following
+sections:
+
+- :ref:`ruby-time-series`: Learn how to create a time series collection and interact with time series data.
diff --git a/source/data-formats/time-series.txt b/source/data-formats/time-series.txt
new file mode 100644
index 00000000..dae1e6e8
--- /dev/null
+++ b/source/data-formats/time-series.txt
@@ -0,0 +1,202 @@
+.. _ruby-time-series:
+
+================
+Time Series Data
+================
+
+.. facet::
+   :name: genre
+   :values: reference
+
+.. meta:: 
+   :keywords: ruby, time series, collections, code example
+
+.. contents:: On this page
+   :local:
+   :backlinks: none
+   :depth: 2
+   :class: singlecol
+
+Overview
+--------
+
+In this guide, you can learn how to use {+driver-short+} to store
+and interact with **time series data**.
+
+Time series data is composed of the following components:
+
+- Measured quantity
+- Timestamp for the measurement
+- Metadata that describes the measurement
+
+The following table describes sample situations for which you could store time
+series data:
+
+.. list-table::
+   :widths: 33, 33, 33
+   :header-rows: 1
+   :stub-columns: 1
+
+   * - Situation
+     - Measured Quantity
+     - Metadata
+
+   * - Recording monthly sales by industry
+     - Revenue in USD
+     - Company, country
+
+   * - Tracking weather changes
+     - Precipitation level
+     - Location, sensor type
+
+   * - Recording fluctuations in housing prices
+     - Monthly rent price
+     - Location, currency
+
+.. _ruby-time-series-create:
+
+Create a Time Series Collection
+-------------------------------
+
+.. important:: Server Version for Time Series Collections
+
+   To create and interact with time series collections, you must be
+   connected to a deployment running {+mdb-server+} 5.0 or later.
+
+To create a time series collection, you must pass an options hash that contains
+the specifications for the collection. You can specify the following specifications
+for your time series collection:
+
+- ``:timeField``: Specifies the field that stores a timestamp in each time series
+  document.
+- ``:metaField``: Specifies the field that stores metadata in each time series 
+  document.
+- ``:granularity``: Specifies the approximate time between consecutive timestamps.
+  The possible values are ``'seconds'``, ``'minutes'``, and ``'hours'``.
+- ``:bucketMaxSpanSeconds``: Sets the maximum time between timestamps in the 
+  same bucket.
+- ``:bucketRoundingSeconds``: Sets the number of seconds to round down by when 
+  MongoDB sets the minimum timestamp for a new bucket. Must be equal to 
+  ``:bucketMaxSpanSeconds``.
+
+See :manual:`Command Fields </reference/command/create/#command-fields>`
+in the {+mdb-server+} manual entry on the ``create`` command to learn more about
+these parameters. 
+
+Example
+~~~~~~~
+
+The following example uses the ``Collection#create`` method to create a time series
+collection named ``october2024`` with the ``:timeField``` option set to ``"timestamp"``:
+
+.. literalinclude:: /includes/usage-examples/time-series.rb
+   :language: ruby
+   :dedent:
+   :start-after: start-create
+   :end-before: end-create
+
+To verify that you have successfully created the collection, print a list of all
+collections in your database and filter by collection name, as shown in the following
+code:
+
+.. io-code-block::
+
+    .. input:: /includes/usage-examples/time-series.rb
+       :language: ruby
+       :start-after: start-correct
+       :end-before: end-correct
+       :dedent:
+
+    .. output::
+       :language: json
+       :visible: false
+
+       [
+         {
+           "name": "october2024", 
+           "type": "timeseries", 
+           "options": {
+             "timeseries": { 
+               "timeField": "timestamp",
+               "granularity": "seconds", 
+               "bucketMaxSpanSeconds": 3600 
+          }
+          }, 
+           "info": {
+             "readOnly": false
+           }
+          }
+        ]
+
+
+.. _ruby-time-series-write:
+
+Store Time Series Data
+----------------------
+
+You can insert data into a time series collection by using the ``insert_one``
+or ``insert_many`` method and specifying the measurement, timestamp, and 
+metadata in each inserted document.
+
+To learn more about inserting documents, see the :ref:`ruby-write-insert` guide.
+
+Example
+~~~~~~~
+
+This example inserts New York City temperature data into the ``october2024``
+time series collection created in the preceding :ref:`ruby-time-series-create`
+section. Each document contains the following fields:
+
+- ``temperature``, which stores temperature measurements in degrees Fahrenheit
+- ``location``, which stores location metadata
+- ``timestamp``, which stores the measurement timestamp
+
+.. literalinclude:: /includes/usage-examples/time-series.rb
+   :language: ruby
+   :dedent:
+   :start-after: start-insert
+   :end-before: end-insert
+
+.. TODO: add link 
+
+.. .. tip:: Formatting Dates and Times
+
+    .. To learn more about using ``datetime`` objects in {+driver-short+}, see 
+    .. :ref:`ruby-dates-times`.
+
+.. _ruby-time-series-read:
+
+Query Time Series Data
+----------------------
+
+You can use the same syntax and conventions to query data stored in a time 
+series collection as you use when performing read or aggregation operations on 
+other collections. 
+
+.. TODO: add links
+.. To learn more about these operations, see :ref:`ruby-read`
+.. and :ref:`ruby-aggregation`.
+
+.. _ruby-time-series-addtl-info:
+
+Additional Information
+----------------------
+
+To learn more about the concepts in this guide, see the following {+mdb-server+}
+manual entries:
+
+- :manual:`Time Series </core/timeseries-collections/>`
+- :manual:`Create and Query a Time Series Collection </core/timeseries/timeseries-procedures/>`
+- :manual:`Set Granularity for Time Series Data </core/timeseries/timeseries-granularity/>`
+
+API Documentation
+~~~~~~~~~~~~~~~~~
+
+To learn more about the methods mentioned in this guide, see the following
+API documentation:
+
+- `create <{+api-root+}/Mongo/Collection.html#create-instance_method>`__
+- `list_collections <{+api-root+}/Mongo/Database.html#list_collections-instance_method>`__
+- `insert_one <{+api-root+}/Mongo/Collection.html#insert_one-instance_method>`__
+- `insert_many <{+api-root+}/Mongo/Collection.html#insert_many-instance_method>`__
+
diff --git a/source/includes/usage-examples/time-series.rb b/source/includes/usage-examples/time-series.rb
new file mode 100644
index 00000000..ed44b051
--- /dev/null
+++ b/source/includes/usage-examples/time-series.rb
@@ -0,0 +1,35 @@
+require 'bundler/inline'
+gemfile do
+  source 'https://rubygems.org'
+  gem 'mongo'
+end
+
+
+  # start-create
+  client = Mongo::Client.new('<connection string>', database: 'weather')
+  collection_name = 'october2024'
+
+  time_series_options = { timeField: 'timestamp' }
+  database = client.database
+  database.command(
+    create: collection_name,
+    timeseries: time_series_options
+  )
+  # end-create
+
+  # start-correct
+  collections = database.list_collections(filter: { name: 'october2024' }).to_a
+  puts collections
+  # end-correct
+
+  # start-insert
+  client = Mongo::Client.new('<connection string>', database => 'your_db')
+  collection = client[:october2024]
+
+  document_list = [
+    { temperature: 77, location: "New York City", timestamp: DateTime.new(2024, 10, 22, 6, 0, 0) },
+    { temperature: 74, location: "New York City", timestamp: DateTime.new(2024, 10, 23, 6, 0, 0) }
+  ]
+
+  collection.insert_many(document_list)
+  #end-insert
\ No newline at end of file
diff --git a/source/index.txt b/source/index.txt
index 931c436a..afd26a9e 100644
--- a/source/index.txt
+++ b/source/index.txt
@@ -17,6 +17,7 @@
    Write Data </write>
    Read Data </read>
    Indexes </indexes>
+   Data Formats </data-formats>
    View the Source <https://github.com/mongodb/mongo-ruby-driver>
    API Documentation <{+api-root+}>
    What's New </whats-new>
@@ -90,6 +91,12 @@ working with data in the :ref:`ruby-get-started` tutorial.
 .. Learn how to authenticate your application and encrypt your data in the
 .. :ref:`ruby-security` section.
 
+Specialized Data Formats
+------------------------
+
+Learn how to work with specialized data formats and custom types in the
+:ref:`ruby-data-formats` section.
+
 What's New
 ----------