diff --git a/lib/ionia/ionia_api.dart b/lib/ionia/ionia_api.dart
index 7fd80f2aa..a3667cca8 100644
--- a/lib/ionia/ionia_api.dart
+++ b/lib/ionia/ionia_api.dart
@@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
 import 'package:http/http.dart';
 import 'package:cake_wallet/ionia/ionia_user_credentials.dart';
 import 'package:cake_wallet/ionia/ionia_virtual_card.dart';
+import 'package:cake_wallet/ionia/ionia_category.dart';
 
 class IoniaApi {
 	static const baseUri = 'apidev.dashdirect.org';
@@ -165,7 +166,7 @@ class IoniaApi {
 		@required String password,
 		@required String clientId,
 		String search,
-		List<int> categories,
+		List<IoniaCategory> categories,
 		int merchantFilterType = 0}) async {
 		// MerchantFilterType: {All = 0, Nearby = 1, Popular = 2, Online = 3, MyFaves = 4, Search = 5}
 	    
@@ -181,7 +182,10 @@ class IoniaApi {
 		}
 
 		if (categories != null) {
-			body['Categories'] = categories;
+			body['Categories'] = categories
+				.map((e) => e.ids)
+				.expand((e) => e)
+				.toList();
 		}
 
 		final response = await post(getMerchantsByFilterUrl, headers: headers, body: json.encode(body));
@@ -199,7 +203,7 @@ class IoniaApi {
 
 		final data = decodedBody['Data'] as List<dynamic>;
 		return data.map((dynamic e) {
-			final element = e as Map<String, dynamic>;
+			final element = e['Merchant'] as Map<String, dynamic>;
 			return IoniaMerchant.fromJsonMap(element);
 		}).toList();
 	}
diff --git a/lib/ionia/ionia_category.dart b/lib/ionia/ionia_category.dart
new file mode 100644
index 000000000..28d48d2b8
--- /dev/null
+++ b/lib/ionia/ionia_category.dart
@@ -0,0 +1,20 @@
+class IoniaCategory {
+	const IoniaCategory(this.title, this.ids);
+
+	static const allCategories = <IoniaCategory>[
+		apparel,
+		onlineOnly,
+		food,
+		entertainment,
+		delivery,
+		travel];
+	static const apparel = IoniaCategory('Apparel', [1]);
+	static const onlineOnly = IoniaCategory('Online Only', [13, 43]);
+	static const food = IoniaCategory('Food', [4]);
+	static const entertainment = IoniaCategory('Entertainment', [5]);
+	static const delivery = IoniaCategory('Delivery', [114, 109]);
+	static const travel = IoniaCategory('Travel', [12]);
+
+	final String title;
+	final List<int> ids;
+}
diff --git a/lib/ionia/ionia_service.dart b/lib/ionia/ionia_service.dart
index ab8d167e7..d0500d66d 100644
--- a/lib/ionia/ionia_service.dart
+++ b/lib/ionia/ionia_service.dart
@@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
 import 'package:flutter_secure_storage/flutter_secure_storage.dart';
 import 'package:cake_wallet/.secrets.g.dart' as secrets;
 import 'package:cake_wallet/ionia/ionia_api.dart';
+import 'package:cake_wallet/ionia/ionia_category.dart';
 
 class IoniaService {
 	IoniaService(this.secureStorage, this.ioniaApi);
@@ -75,7 +76,7 @@ class IoniaService {
 
 	Future<List<IoniaMerchant>> getMerchantsByFilter({
 		String search,
-		List<int> categories,
+		List<IoniaCategory> categories,
 		int merchantFilterType = 0}) async {
 		final username = await secureStorage.read(key: ioniaUsernameStorageKey);
 		final password = await secureStorage.read(key: ioniaPasswordStorageKey);