diff --git a/Medifirst2000/pom.xml b/Medifirst2000/pom.xml
index 7a5d9f75..888c7aa9 100644
--- a/Medifirst2000/pom.xml
+++ b/Medifirst2000/pom.xml
@@ -22,6 +22,7 @@
../jasamedika-reporting
../jasamedika-sdm
../jasamedika-web
+ ../jasamedika-pelayanan
diff --git a/jasamedika-pelayanan/WebContent/META-INF/MANIFEST.MF b/jasamedika-pelayanan/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..254272e1
--- /dev/null
+++ b/jasamedika-pelayanan/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/jasamedika-pelayanan/pom.xml b/jasamedika-pelayanan/pom.xml
new file mode 100644
index 00000000..fcd502d9
--- /dev/null
+++ b/jasamedika-pelayanan/pom.xml
@@ -0,0 +1,298 @@
+
+ 4.0.0
+ jasamedika-pelayanan
+ war
+ jasamedika-pelayanan
+
+ com.jasamedika
+ Medifirst2000
+ 1.0.0
+ ../Medifirst2000/pom.xml
+
+
+
+ commons-httpclient
+ commons-httpclient
+ 3.1
+
+
+ io.socket
+ socket.io-client
+ 0.7.0
+
+
+
+ ${project.groupId}
+ jasamedika-config
+ ${project.version}
+
+
+
+ ${project.groupId}
+ jasamedika-core
+ ${project.version}
+
+
+
+ ${project.groupId}
+ jasamedika-domain
+ ${project.version}
+
+
+
+ ${project.groupId}
+ jasamedika-business
+ ${project.version}
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+ org.springframework
+ spring-test
+ ${org.springframework.version}
+ test
+
+
+
+
+ org.springframework
+ spring-web
+ ${org.springframework.version}
+
+
+
+ org.springframework
+ spring-webmvc
+ ${org.springframework.version}
+
+
+
+
+ org.springframework
+ spring-aop
+ ${org.springframework.version}
+
+
+
+ org.aspectj
+ aspectjtools
+ 1.7.4
+
+
+
+
+
+ javax.servlet
+ javax.servlet-api
+ ${servlet.version}
+ provided
+
+
+
+
+ commons-fileupload
+ commons-fileupload
+ ${commons-fileupload.version}
+
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+ runtime
+
+
+
+
+ com.jayway.restassured
+ rest-assured
+ ${rest-assured.version}
+ test
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson2.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ ${jackson2.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson2.version}
+
+
+
+
+ com.googlecode.json-simple
+ json-simple
+ ${json-simple.version}
+
+
+ org.codehaus.jackson
+ jackson-core-asl
+ ${jackson-core-asl.version}
+
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ ${jackson-mapper-asl.version}
+
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+
+
+
+ com.monitorjbl
+ json-view
+ 0.10
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.4
+
+
+
+
+ com.mangofactory
+ swagger-springmvc
+ 0.6.5
+
+
+
+
+
+
+ com.google.zxing
+ core
+ 2.2
+
+
+
+
+ com.google.zxing
+ javase
+ 2.2
+
+
+
+
+ com.google.zxing
+ zxing-parent
+ 3.2.0
+ pom
+
+
+
+ org.apache.poi
+ poi
+ 3.6
+ jar
+ compile
+
+
+
+ com.lowagie
+ itext
+ 2.1.7
+
+
+
+
+ commons-digester
+ commons-digester
+ 2.1
+ jar
+ compile
+
+
+
+ org.springframework
+ spring-context-support
+ ${org.springframework.version}
+
+
+
+
+ net.sourceforge.barbecue
+ barbecue
+ 1.5-beta1
+
+
+
+
+ net.sf.barcode4j
+ barcode4j
+ 2.1
+
+
+
+
+ org.apache.xmlgraphics
+ batik-bridge
+ 1.7
+
+
+
+
+
+ commons-codec
+ commons-codec
+ ${commons-codec.version}
+
+
+ commons-collections
+ commons-collections
+ ${commons-collections.version}
+
+
+
+
+
+ jasamedika-pelayanan
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.0
+
+ 1.8
+ 1.8
+
+
+
+ org.apache.tomcat.maven
+ tomcat7-maven-plugin
+ 2.1
+
+ /
+
+
+
+
+
+ Module Medifirst2000 untuk Web / Controller. Tempat API diexpose oleh REST Client.
+
+ Jasa Medika
+
+
diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/constants/Constants.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/constants/Constants.java
new file mode 100644
index 00000000..568fc300
--- /dev/null
+++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/constants/Constants.java
@@ -0,0 +1,78 @@
+package com.jasamedika.medifirst2000.constants;
+
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+
+/**
+ * Constants value
+ *
+ * @author Roberto
+ */
+public class Constants {
+ public static final String JASAMEDIKA = "SkFTQU1FRElLQQ==";
+ public static final String APP_VERSION = "APP_VERSION";
+
+ public static final String AUTH_HEADER_NAME = "X-AUTH-TOKEN";
+
+ //for example
+ public static final String IDR = "IDR";
+ public static final String RP = "RP";
+
+ public static final String COMMA = ",";
+
+ public static final DecimalFormat ONE_COMA_FORMAT = new DecimalFormat("#.#");
+ public static final DecimalFormat TWO_COMA_FORMAT = new DecimalFormat(
+ "#.##");
+
+ public static final DecimalFormat MONEY_FORMAT_WITHOUT_COMMA = new DecimalFormat(
+ "###,###");
+
+ public static final class DateFormat {
+ public static final SimpleDateFormat yyyyMMdd = new SimpleDateFormat(
+ "yyyyMMdd");
+ public static final SimpleDateFormat dd_MMM_yyyy = new SimpleDateFormat(
+ "dd MMM yyyy");
+ public static final SimpleDateFormat yyyy_MM_dd_HH_mm_ss = new SimpleDateFormat(
+ "yyyy-MM-dd HH:mm:ss");
+ public static final SimpleDateFormat yyyy_MM_dd_T_HH_mm_ss = new SimpleDateFormat(
+ "yyyy-MM-dd'T'HH:mm:ss");
+ public static final SimpleDateFormat yyyyMMdd_HH_mm_ss = new SimpleDateFormat(
+ "yyyyMMdd HH:mm:ss");
+ }
+
+ /* message */
+ public static final class MessageInfo {
+ public static final String INFO_MESSAGE = "INFO_MESSAGE";
+ public static final String WARNING_MESSAGE = "WARNING_MESSAGE";
+ public static final String ERROR_MESSAGE = "ERROR_MESSAGE";
+ public static final String EXCEPTION_MESSAGE = "EXCEPTION_MESSAGE";
+
+ }
+
+ /* locale id (indonesia / default) and en (english) */
+ public static final class Locale {
+ public static final String INA = "ina";
+ public static final String EN = "en";
+
+ }
+ //Update perubahan di sini, harus disamakan dengan package yang ada di jasamedika-bussiness
+ //com.jasamedika.medifirst2000.logging.hibernate.async
+ public static final class HttpHeader {
+ public static final String SUPERVISING = "Supervising";
+ public static final String MODULE = "Module";
+ public static final String FORM = "Form";
+ public static final String ACTION = "Action";
+
+ public static final String URL_FORM = "AlamatUrlForm"; // syamsu
+ public static final String KD_RUANGAN = "KdRuangan"; // syamsu
+ public static final String KD_RUANGAN_T = "KdRuanganT"; // syamsu
+ public static final String KD_RUANGAN_A = "KdRuanganA"; // syamsu
+ public static final String TGL_KIRIM = "tglKirim"; // syamsu
+// public static final String RUANGAN_TUJUAN = "ruanganTujuan"; // syamsu
+// public static final String ID_RUANGAN_TUJUAN_ALT = "ruanganTujuanAlt"; // syamsu
+ public static final String KD_USER = "KdUser"; // syamsu
+
+
+ }
+
+}
diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/constants/MessageResource.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/constants/MessageResource.java
new file mode 100644
index 00000000..d15ae2fc
--- /dev/null
+++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/constants/MessageResource.java
@@ -0,0 +1,18 @@
+package com.jasamedika.medifirst2000.constants;
+
+/**
+ * MessageResource class is that consist of list key in message resource for
+ * internationalization
+ *
+ * @author Roberto
+ */
+public final class MessageResource {
+
+ public static final String LABEL_SUCCESS = "label.success";
+ public static final String LABEL_ERROR = "label.error";
+ public static final String LABEL_TRY_AGAIN = "label.try_again";
+ public static final String LABEL_SUCCESS_CREATED = "label.success.created";
+ public static final String LABEL_SUCCESS_OK = "label.success.ok";
+ public static final String LABEL_UPDATE_DATA_CUTI = "label.update.data.cuti";
+
+}
diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/AkomodasiController.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/AkomodasiController.java
new file mode 100644
index 00000000..354dc220
--- /dev/null
+++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/AkomodasiController.java
@@ -0,0 +1,161 @@
+package com.jasamedika.medifirst2000.controller;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.orm.jpa.JpaSystemException;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.jasamedika.medifirst2000.constants.Constants;
+import com.jasamedika.medifirst2000.constants.MessageResource;
+import com.jasamedika.medifirst2000.controller.base.LocaleController;
+import com.jasamedika.medifirst2000.core.web.WebConstants;
+import com.jasamedika.medifirst2000.exception.ServiceVOException;
+import com.jasamedika.medifirst2000.service.MapRuanganToAkomodasiService;
+import com.jasamedika.medifirst2000.service.RuanganService;
+import com.jasamedika.medifirst2000.util.CommonUtil;
+import com.jasamedika.medifirst2000.util.rest.RestUtil;
+import com.jasamedika.medifirst2000.vo.MapRuanganToAkomodasiVO;
+
+@RestController
+@RequestMapping("/akomodasi")
+public class AkomodasiController extends LocaleController {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AkomodasiController.class);
+
+ @Autowired
+ private MapRuanganToAkomodasiService mapRuanganToAkomodasiService;
+
+ @Autowired
+ private RuanganService ruanganService;
+
+ @RequestMapping(value = "/save-mapping", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity