/**
 * <p class=proto-main>This API supports the POI Search Requests.</p>
 *
 * <div class=proto-hier>
 *   UconnectAny
 *     |
 *     |---- <a href="#com.fca.uconnect.global.POISearchRequest">POISearchRequest </a>
 *     |
 *     |---- <a href="#com.fca.uconnect.global.POISearchResponse">POISearchResponse </a>
 *     |
 *     |---- <a href="#com.fca.uconnect.global.POISearchDestinationRequest">POISearchDestinationRequest </a>
 *     |
 *     |---- <a href="#com.fca.uconnect.global.POISearchDestinationResponse">POISearchDestinationResponse </a>
 * </div>
 *
 *  <h3 class=change-log-hdr> Change Log</h3>
 *  <table id="change-log" class="change-log"><thead><tr>
 *	<td>Version</td><td>Date</td><td>Notes</td></tr></thead>
 *   <tbody>
  *    <tr><td>1.2</td><td>2017-11-2</td><td>Update to Proto3</td></tr>	
 *	<tr><td>1.0</td><td>2017-10-12</td><td>Release of initial Proto</td></tr>
 *	</tbody></table>
 *
 *  <h3 class=change-log-hdr>List of MQTT Topics</h3>
 *  <table class="change-log"><thead><tr>
 *	<td>Flow</td><td>Type</td><td>Topic Name</td></tr></thead>
 *    <tbody>
 *   <tr><td>Cloud send to Vehicle</td><td>Publish</td><td>fcasdp/${iot:ClientId}/POIS</td></tr>
 *	 <tr><td>Cloud receive from Vehicle</td><td>Subscribe</td><td>fcasdp/POIS/#</td></tr>
 *	 <tr><td>Vehicle send to Cloud </td><td>Publish</td><td>fcasdp/POIS/${iot:ClientId}</td></tr>
 *	 <tr><td>Vehicle receive from Cloud </td><td>Subscribe</td><td>fcasdp/${iot:ClientId}/#</td></tr>
 *	</tbody></table>
 * <h3 class=change-log-hdr>Data Flow</h3>
 *
 * <p class=proto-main>The following sequence diagram depicts the flow of messages between the HU and the SDP:</p>
 *
 * <img class=img-border src=./images/pois.png>
 *
 * <table class=sequence-table><thead><tr>
 *	<td>Sequence</td><td>Title</td><td>Role</td><td>Message</td><td>Topic</td><td>Description</td></tr></thead>
 *   <tbody>
 * <tr><td>1.</td><td>POISearch Event</td><td>HU</td><td></td><td></td><td><p>The in-vehicle activation event which triggers the client device to send an Activation Request to the SDP.</p></td></tr>
 * <tr><td>2.</td><td>Assign MessageId</td><td>HU</td><td></td><td></td><td><p>The client generates the messageId for the message by incrementing a sequence counter.</p></td></tr>
 * <tr><td>3.</td><td>Send POISearchRequest Message</td><td>HU</td><td>POISearchRequest</td><td>/POIS/${iot:ClientId}</td><td><p>The client populates the ActivationRequest Message with the required elements and publishes to the activation topic.</p></td></tr>
 * <tr><td>4.</td><td>Process Message</td><td>SDP</td><td></td><td></td><td><p>The SDP processes the message and generates an ActivationResponse Message with the status and assign correct correlationId.</p></td></tr>
 * <tr><td>5.</td><td>Send ActiviationResponse Message</td><td>SDP</td><td>ActivationResponse</td><td>${iot:ClientId}/POIS</td><td><p>The service publishes the response message to the activation topic for the client to receive.</p></td></tr>
 * <tr><td>6.</td><td>Process Message</td><td>HU</td><td></td><td></td><td><p>The client receives the message and verifies the correlationId is correct.</p></td></tr>
 * <tr><td>7.</td><td>Provisioning Event</td><td>SDP</td><td></td><td></td><td><p>Once the activation is accepted after the appropriate out of band approval steps, the SDP will build a new ProvisioningPush Message with the required initial client configuration. Assign correct correlationId.</p></td></tr>
 * <tr><td>8.</td><td>Send ProvisioningPush Message</td><td>SDP</td><td><p>ProvisioningPush</td><td>${iot:ClientId}/PRVI</td><td>The service publishes the push message to the activation topic for the client to receive.</p></td></tr>
 * <tr><td>9.</td><td>Process Message</td><td>HU</td><td></td><td></td><td><p>The client receives the message and verifies the correlationId is correct.</p></td></tr>
 * <tr><td>10.</td><td>Send ProvisioningPushAck Message</td><td>HU</td><td>ProvisioningPushAck</td><td>/PRVI/${iot:ClientId}</td><td><p>The client acknowledges the ProvisioningPush Message with the ProvisioningPushAck Message publishes to the Provisioning topic.</p></td></tr>
 * <tr><td>11.</td><td>Process Message</td><td>SDP</td><td></td><td></td><td><p>The SDP processes the message .</p></td></tr>
 * </tbody>
 * </table>
 */
syntax="proto3";
package com.fca.uconnect.global;

// import public "Global_Uconnect_Control.proto";
import public "Global_Uconnect_GNSS.proto";
/**
 * This message represents  POISearchRequest.
 * <div class=exmsg-main>
 * <h4>POISearchRequest Example Message:</h4>
 * <div class=ex-msg>
 *	<code>
 * 		timestamp: 1488574019636
 * 		messageId: 1
 * 		messages
 * 	    {
 * 		 [com.fca.uconnect.global.POISearchRequest]
 * 		 {
 * 		  poi
 * 		  {
 * 			name: "2.0"
 * 			category: ""
 * 			id: 1
 * 			phoneNumber: "12345"
 * 			description: "DESC"
 * 			url: "https://abc.com"
 *  	  }
 * 		 }
 * 		}
 *	</code>
 *   </div>
 * </div>
 */
message POISearchRequest {
    PointOfInterest poi = 1;
}

/**
 * This message is in response to  POISearchRequest.
 *<div class=exmsg-main>
 * <h4>POISearchResponse Example Message:</h4>
 * <div class=ex-msg>
 *	<code>
 * 		timestamp: 1488740988983
 * 		messageId: 2
 * 		correlationId: 1
 * 		messages
 * 		{
 * 		 [com.fca.uconnect.global.poiSearchResponse]
 * 		 {
 * 			[ poiList{
 * 			name: "2.0"
 * 			category: ""
 * 			id: 1
 * 			phoneNumber: "12345"
 * 			description: "DESC"
 * 			url: "https://abc.com"
 *
 * 			}]
 * 		 }
 * 		}
 *	</code>
 *   </div></div>
 */
message POISearchResponse {
 repeated PointOfInterest poiList = 1; /// list of points of interest
}
/**
 * This message represents  POISearchDestinationRequest.
 * <div class=exmsg-main>
 * <h4>POISearchDestinationRequest Example Message:</h4>
 * <div class=ex-msg>
 *	<code>
 * 		timestamp: 1488574019636
 * 		messageId: 1
 * 		messages
 * 	    {
 * 		 [com.fca.uconnect.global.poiSearchDestinationRequest]
 * 		 {
 * 		  destinationPOI
 * 		  {
 * 			name: "2.0"
 * 			category: ""
 * 			id: 1
 * 			phoneNumber: "12345"
 * 			description: "DESC"
 * 			url: "https://abc.com"
 *  	  }
 * 		 }
 * 		}
 *	</code>
 *   </div>
 * </div>
 */
message POISearchDestinationRequest {
    PointOfInterest destinationPOI = 1; /// Point of Interest request data
}
/**
 * This message is in response to  POISearchDestinationRequest.
 *<div class=exmsg-main>
 * <h4>POISearchDestinationResponse Example Message:</h4>
 * <div class=ex-msg>
 *	<code>
 * 		timestamp: 1488740988983
 * 		messageId: 2
 * 		correlationId: 1
 * 		messages
 * 		{
 * 		 [com.fca.uconnect.global.poiSearchDestinationResponse]
 * 		 {
 * 			destination
 * 		  {
 * 			routePreference: Fast
 * 			destinationPOI
 * 		    {
 * 			name: "2.0"
 * 			category: ""
 * 			id: 1
 * 			phoneNumber: "12345"
 * 			description: "DESC"
 * 			url: "https://abc.com"
 *  	  }
 *  	  }
 * 		 }
 * 		}
 *	</code>
 *   </div></div>
 */
message POISearchDestinationResponse {
    Destination destination = 1; /// destination message element
}

//extend UconnectAny{
//	 POISearchRequest poiSearchRequest=1500;
//	 POISearchResponse poiSearchResponse=1501;
//	 POISearchDestinationRequest poiSearchDestinationRequest=1502;
//	 POISearchDestinationResponse poiSearchDestinationResponse=1503;
// }

