diff --git a/homeassistant/components/islamic_prayer_times/config_flow.py b/homeassistant/components/islamic_prayer_times/config_flow.py
index 597d67c19f4db4801201eb88d694171e3a32b221..333b6b36c87ba4f2a1d6cd4d4bab7b8711529980 100644
--- a/homeassistant/components/islamic_prayer_times/config_flow.py
+++ b/homeassistant/components/islamic_prayer_times/config_flow.py
@@ -14,7 +14,22 @@ from homeassistant.helpers.selector import (
     SelectSelectorMode,
 )
 
-from .const import CALC_METHODS, CONF_CALC_METHOD, DEFAULT_CALC_METHOD, DOMAIN, NAME
+from .const import (
+    CALC_METHODS,
+    CONF_CALC_METHOD,
+    CONF_LAT_ADJ_METHOD,
+    CONF_MIDNIGHT_MODE,
+    CONF_SCHOOL,
+    DEFAULT_CALC_METHOD,
+    DEFAULT_LAT_ADJ_METHOD,
+    DEFAULT_MIDNIGHT_MODE,
+    DEFAULT_SCHOOL,
+    DOMAIN,
+    LAT_ADJ_METHODS,
+    MIDNIGHT_MODES,
+    NAME,
+    SCHOOLS,
+)
 
 
 class IslamicPrayerFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
@@ -70,6 +85,40 @@ class IslamicPrayerOptionsFlowHandler(config_entries.OptionsFlow):
                     translation_key=CONF_CALC_METHOD,
                 )
             ),
+            vol.Optional(
+                CONF_LAT_ADJ_METHOD,
+                default=self.config_entry.options.get(
+                    CONF_LAT_ADJ_METHOD, DEFAULT_LAT_ADJ_METHOD
+                ),
+            ): SelectSelector(
+                SelectSelectorConfig(
+                    options=LAT_ADJ_METHODS,
+                    mode=SelectSelectorMode.DROPDOWN,
+                    translation_key=CONF_LAT_ADJ_METHOD,
+                )
+            ),
+            vol.Optional(
+                CONF_MIDNIGHT_MODE,
+                default=self.config_entry.options.get(
+                    CONF_MIDNIGHT_MODE, DEFAULT_MIDNIGHT_MODE
+                ),
+            ): SelectSelector(
+                SelectSelectorConfig(
+                    options=MIDNIGHT_MODES,
+                    mode=SelectSelectorMode.DROPDOWN,
+                    translation_key=CONF_MIDNIGHT_MODE,
+                )
+            ),
+            vol.Optional(
+                CONF_SCHOOL,
+                default=self.config_entry.options.get(CONF_SCHOOL, DEFAULT_SCHOOL),
+            ): SelectSelector(
+                SelectSelectorConfig(
+                    options=SCHOOLS,
+                    mode=SelectSelectorMode.DROPDOWN,
+                    translation_key=CONF_SCHOOL,
+                )
+            ),
         }
 
         return self.async_show_form(step_id="init", data_schema=vol.Schema(options))
diff --git a/homeassistant/components/islamic_prayer_times/const.py b/homeassistant/components/islamic_prayer_times/const.py
index 67fac6c92610f4c30298459efb252340b00ea111..926651738a2ecb4b3608c7fedb1ae6eed2d3fe71 100644
--- a/homeassistant/components/islamic_prayer_times/const.py
+++ b/homeassistant/components/islamic_prayer_times/const.py
@@ -25,3 +25,15 @@ CALC_METHODS: Final = [
     "custom",
 ]
 DEFAULT_CALC_METHOD: Final = "isna"
+
+CONF_LAT_ADJ_METHOD: Final = "latitude_adjustment_method"
+LAT_ADJ_METHODS: Final = ["middle_of_the_night", "one_seventh", "angle_based"]
+DEFAULT_LAT_ADJ_METHOD: Final = "middle_of_the_night"
+
+CONF_MIDNIGHT_MODE: Final = "midnight_mode"
+MIDNIGHT_MODES: Final = ["standard", "jafari"]
+DEFAULT_MIDNIGHT_MODE: Final = "standard"
+
+CONF_SCHOOL: Final = "school"
+SCHOOLS: Final = ["shafi", "hanafi"]
+DEFAULT_SCHOOL: Final = "shafi"
diff --git a/homeassistant/components/islamic_prayer_times/coordinator.py b/homeassistant/components/islamic_prayer_times/coordinator.py
index 30362c763daaaf367c163e041cebd1d2b03c5163..161ce7b26448b05587e7cab2aa6cd54ba6a1a497 100644
--- a/homeassistant/components/islamic_prayer_times/coordinator.py
+++ b/homeassistant/components/islamic_prayer_times/coordinator.py
@@ -14,7 +14,17 @@ from homeassistant.helpers.event import async_call_later, async_track_point_in_t
 from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
 import homeassistant.util.dt as dt_util
 
-from .const import CONF_CALC_METHOD, DEFAULT_CALC_METHOD, DOMAIN
+from .const import (
+    CONF_CALC_METHOD,
+    CONF_LAT_ADJ_METHOD,
+    CONF_MIDNIGHT_MODE,
+    CONF_SCHOOL,
+    DEFAULT_CALC_METHOD,
+    DEFAULT_LAT_ADJ_METHOD,
+    DEFAULT_MIDNIGHT_MODE,
+    DEFAULT_SCHOOL,
+    DOMAIN,
+)
 
 _LOGGER = logging.getLogger(__name__)
 
@@ -38,12 +48,34 @@ class IslamicPrayerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, datetim
         """Return the calculation method."""
         return self.config_entry.options.get(CONF_CALC_METHOD, DEFAULT_CALC_METHOD)
 
+    @property
+    def lat_adj_method(self) -> str:
+        """Return the latitude adjustment method."""
+        return str(
+            self.config_entry.options.get(
+                CONF_LAT_ADJ_METHOD, DEFAULT_LAT_ADJ_METHOD
+            ).replace("_", " ")
+        )
+
+    @property
+    def midnight_mode(self) -> str:
+        """Return the midnight mode."""
+        return self.config_entry.options.get(CONF_MIDNIGHT_MODE, DEFAULT_MIDNIGHT_MODE)
+
+    @property
+    def school(self) -> str:
+        """Return the school."""
+        return self.config_entry.options.get(CONF_SCHOOL, DEFAULT_SCHOOL)
+
     def get_new_prayer_times(self) -> dict[str, Any]:
         """Fetch prayer times for today."""
         calc = PrayerTimesCalculator(
             latitude=self.hass.config.latitude,
             longitude=self.hass.config.longitude,
             calculation_method=self.calc_method,
+            latitudeAdjustmentMethod=self.lat_adj_method,
+            midnightMode=self.midnight_mode,
+            school=self.school,
             date=str(dt_util.now().date()),
         )
         return cast(dict[str, Any], calc.fetch_prayer_times())
diff --git a/homeassistant/components/islamic_prayer_times/strings.json b/homeassistant/components/islamic_prayer_times/strings.json
index d02b26ec5332bcbeea72bfefdaa5181817fb5a9d..e07a38ca1072a8b62bf483b08d95258d786c2041 100644
--- a/homeassistant/components/islamic_prayer_times/strings.json
+++ b/homeassistant/components/islamic_prayer_times/strings.json
@@ -15,7 +15,10 @@
     "step": {
       "init": {
         "data": {
-          "calculation_method": "Prayer calculation method"
+          "calculation_method": "Prayer calculation method",
+          "latitude_adjustment_method": "Latitude adjustment method",
+          "midnight_mode": "Midnight mode",
+          "school": "School"
         }
       }
     }
@@ -40,6 +43,25 @@
         "moonsighting": "Moonsighting Committee Worldwide",
         "custom": "Custom"
       }
+    },
+    "latitude_adjustment_method": {
+      "options": {
+        "middle_of_the_night": "Middle of the night",
+        "one_seventh": "One seventh",
+        "angle_based": "Angle based"
+      }
+    },
+    "midnight_mode": {
+      "options": {
+        "standard": "Standard (mid sunset to sunrise)",
+        "jafari": "Jafari (mid sunset to fajr)"
+      }
+    },
+    "school": {
+      "options": {
+        "shafi": "Shafi",
+        "hanafi": "Hanafi"
+      }
     }
   },
   "entity": {
diff --git a/tests/components/islamic_prayer_times/test_config_flow.py b/tests/components/islamic_prayer_times/test_config_flow.py
index a25b8ba0f0b3c7dab09199b146bfe90039a2ece5..f331c5bf49b657194aa8c6f438790c252c3a99f6 100644
--- a/tests/components/islamic_prayer_times/test_config_flow.py
+++ b/tests/components/islamic_prayer_times/test_config_flow.py
@@ -3,7 +3,13 @@ import pytest
 
 from homeassistant import config_entries, data_entry_flow
 from homeassistant.components import islamic_prayer_times
-from homeassistant.components.islamic_prayer_times.const import CONF_CALC_METHOD, DOMAIN
+from homeassistant.components.islamic_prayer_times.const import (
+    CONF_CALC_METHOD,
+    CONF_LAT_ADJ_METHOD,
+    CONF_MIDNIGHT_MODE,
+    CONF_SCHOOL,
+    DOMAIN,
+)
 from homeassistant.core import HomeAssistant
 
 from tests.common import MockConfigEntry
@@ -44,11 +50,19 @@ async def test_options(hass: HomeAssistant) -> None:
     assert result["step_id"] == "init"
 
     result = await hass.config_entries.options.async_configure(
-        result["flow_id"], user_input={CONF_CALC_METHOD: "makkah"}
+        result["flow_id"],
+        user_input={
+            CONF_CALC_METHOD: "makkah",
+            CONF_LAT_ADJ_METHOD: "one_seventh",
+            CONF_SCHOOL: "hanafi",
+        },
     )
 
     assert result["type"] == data_entry_flow.FlowResultType.CREATE_ENTRY
     assert result["data"][CONF_CALC_METHOD] == "makkah"
+    assert result["data"][CONF_LAT_ADJ_METHOD] == "one_seventh"
+    assert result["data"][CONF_MIDNIGHT_MODE] == "standard"
+    assert result["data"][CONF_SCHOOL] == "hanafi"
 
 
 async def test_integration_already_configured(hass: HomeAssistant) -> None: