diff --git a/src/handler/order/order.router.ts b/src/handler/order/order.router.ts
index 41e41b0539f4088cad44d2f35140bcdaddf85252..05cdfc02badf3d7e7a84eb9a27be0ba1260520e8 100644
--- a/src/handler/order/order.router.ts
+++ b/src/handler/order/order.router.ts
@@ -12,4 +12,21 @@ OrderRouter.get('/available-order', async (request: Request, response: Response)
     } catch (error: any) {
         return response.status(500).json(error.message);
     }
-})
\ No newline at end of file
+})
+OrderRouter.get('/order/:id', async (request: Request, response: Response) => {
+    try {
+        const order = await OrderServices.getOrderById(parseInt(request.params.id));
+        return response.status(200).json(order);
+    } catch (error: any) {
+        return response.status(500).json(error.message);
+    }
+})
+
+OrderRouter.get('/order-details/:id', async (request: Request, response: Response) => {
+    try {
+        const orderDetails = await OrderServices.getOrderDetails(parseInt(request.params.id));
+        return response.status(200).json(orderDetails);
+    } catch (error: any) {
+        return response.status(500).json(error.message);
+    }
+})
diff --git a/src/handler/order/order.service.ts b/src/handler/order/order.service.ts
index 9140dac1ed03a4ee802b2fc6efe06b124bff9a72..883b9a46a632404667dafa343981cbb07b681f51 100644
--- a/src/handler/order/order.service.ts
+++ b/src/handler/order/order.service.ts
@@ -1,18 +1,23 @@
-import { getPesananNoKurir } from "../soap-caller/PesananSoapCaller";
+import { getPesananByIdPesanan, getPesananNoKurir } from "../soap-caller/PesananSoapCaller";
 import OrderInterface from "../../interfaces/OrderInterface";
+import { getDetailPesanan } from "../soap-caller/DetailPesananSoapCaller";
+import OrderDetail from "../../interfaces/OrderDetail";
+import { ConvertArray, ConvertSingle } from "../../utils/JSONConverter";
 
 export async function getAvailableOrder() {
     const response = await getPesananNoKurir();
-    console.log(response);
-    if(response === null) {
-        return [];
-    }
-
-    const JSONArray = Array.isArray(response) ? response : [response];
+    const availableOrder = ConvertArray<OrderInterface>(response);
+    return availableOrder;
+}
 
-    const availableOrder = JSONArray.map((item: any) => {
-        return JSON.parse(JSON.stringify(item)) as OrderInterface;
-    });
+export async function getOrderById(orderId : number) {
+    const response = await getPesananByIdPesanan(orderId);
+    const order = ConvertSingle(response);
+    return order;
+}
 
-    return availableOrder;
+export async function getOrderDetails(orderId : number) {
+    const response = await getDetailPesanan(orderId);
+    const orderDetails = ConvertArray<OrderDetail>(response);
+    return orderDetails;
 }
\ No newline at end of file
diff --git a/src/interfaces/OrderDetail.ts b/src/interfaces/OrderDetail.ts
index 46cf53060e1c2400bdf37ead9dd0ecfe0edb2b81..b6e98d5a8f439fda465c9a932e4c798a10b68e2f 100644
--- a/src/interfaces/OrderDetail.ts
+++ b/src/interfaces/OrderDetail.ts
@@ -1,7 +1,7 @@
 
 export default interface OrderDetail {    
     id_pesanan : number
-    nama_produk : string
+    nama_product : string
     quantity : number
     harga : number
 }
\ No newline at end of file