diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index 192b2cb5da9a54b8f3f3ea1229648efd6a8db7a3..f6447cde255dea8f473acd51bc6953bc0bbefd6b 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -5128,10 +5128,9 @@ def _parse_single_xml_element(elem: etree._Element):
     elif elem.tag == "UserInfo":
         return UserInfo(xml=elem)
     elif elem.tag == "TimeZone":
-        offset = elem.get("offset")
         return TimeZone(
             zone_id=elem.get("id"),
-            offset=int(offset) if offset is not None else None,
+            offset=elem.get("offset"),
             display_name=elem.text.strip() if elem.text is not None else "",
         )
     else:
diff --git a/src/linkahead/common/timezone.py b/src/linkahead/common/timezone.py
index 293deaf43177216157a7a29d3c06b86257dbbec3..9ccb433c49b07e73a90bdad3ae6caaf2017a9c1d 100644
--- a/src/linkahead/common/timezone.py
+++ b/src/linkahead/common/timezone.py
@@ -11,13 +11,13 @@ class TimeZone():
     ----------
     zone_id : string
         ID of the time zone.
-    offset : int
-        Offset to UTC in seconds.
+    offset : str
+        Offset to UTC, e.g. "+1400"
     display_name : string
         A human-friendly name of the time zone:
     """
 
-    def __init__(self, zone_id: Optional[str], offset: Optional[int], display_name: str):
+    def __init__(self, zone_id: Optional[str], offset: Optional[str], display_name: str):
         self.zone_id = zone_id
         self.offset = offset
         self.display_name = display_name