openapi: 3.0.0 info: description: | This API will return a collection of Menu Items for a specific Location, Service Date and Meal Period. __The base endpoint URL for this API in production is:__ `https://marko.aramark.net/v1/service_menu_items`. For testing the API with the "Try" tool on this page or in your app, use either our testing server "qa-marko" or our development server "dev-marko". version: "1.0.1-oas3" title: Service Menu Items tags: - name: Service Menu Items description: An individual Service Menu and its Items for a Location and Service Date paths: /: get: summary: Menu items for a service menu description: | Returns a hierarchical collection of menu items for a service menu. ![This endpoint is in production](/themes/portal/images/statuspngs/statusprod.png) operationId: getServiceMenuItems tags: - Service Menu Items parameters: - $ref: '#/components/parameters/serviceDateParam' - $ref: '#/components/parameters/locationIdParam' - $ref: '#/components/parameters/serviceAreaIdParam' - $ref: '#/components/parameters/subLocationIdParam' - $ref: '#/components/parameters/mealPeriodIdParam' - $ref: '#/components/parameters/isMtoParam' - $ref: '#/components/parameters/isResultRequiredParam' - $ref: '#/components/parameters/isTempRequiredParam' - $ref: '#/components/parameters/bypassCacheParam' - $ref: '#/components/parameters/smokeParam' responses: '200': description: Menu and its items for location, service data and meal period content: application/json: schema: type: object properties: status: type: string description: 'ENUM ''Success'', ''Not Found'' or ''Error''' count: type: string description: Number of records returned in request service_menus: type: array items: $ref: '#/components/schemas/service_menus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '405': description: HTTP Verb / Operation not supported /flat: get: summary: Choose fields returned in flat response object description: | This api requires one of *location_id*, *service_area_id* or service menu items returned to a flat response object with only the fields you want. *sub_location_id* as an input in order to return results. ![This endpoint is in production](/themes/portal/images/statuspngs/statusprod.png) operationId: getServiceMenuItemsFlat tags: - Service Menu Items parameters: - $ref: '#/components/parameters/fieldsParam' - $ref: '#/components/parameters/serviceDateParam' - $ref: '#/components/parameters/locationIdParam' - $ref: '#/components/parameters/serviceAreaIdParam' - $ref: '#/components/parameters/subLocationIdParam' - $ref: '#/components/parameters/mealPeriodIdParam' - $ref: '#/components/parameters/isMtoParam' - $ref: '#/components/parameters/isResultRequiredParam' - $ref: '#/components/parameters/isTempRequiredParam' - $ref: '#/components/parameters/bypassCacheParam' - $ref: '#/components/parameters/smokeParam' responses: '200': description: Menu and its items for location, service data and meal period content: application/json: schema: type: object properties: status: type: string description: 'ENUM ''Success'', ''Error'' or ''Not Found''' count: type: string description: Number of records returned in request service_items: type: array items: $ref: '#/components/schemas/service_items' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '405': description: HTTP Verb / Operation not supported servers: - url: https://qa-marko.aramark.net/v1/service_menu_items description: Testing server - url: https://dev-marko.aramark.net/v1/service_menu_items description: Development server components: responses: NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' parameters: fieldsParam: name: fields in: query description: | Comma delimited list to reduce the fields of response object. When used the property "location_id" will always be appended to the list for a consistent field for response testing. required: false schema: type: string serviceDateParam: name: service_date in: query description: Service Date in Format "mm/dd/yyyy" required: true schema: type: string locationIdParam: name: location_id in: query description: Unique ID of Location to return Menus. required: false schema: type: string serviceAreaIdParam: name: service_area_id in: query description: Unique ID of Service Area for a Service Date. required: false schema: type: string subLocationIdParam: name: sub_location_id in: query description: Unique ID of Sub Location aka Station for a Service Date. required: false schema: type: string mealPeriodIdParam: name: meal_period_id in: query description: Unique ID of Meal Period for a Location and Service Date. required: false schema: type: string isMtoParam: name: is_mto in: query description: Filter for Made to Order Menu Items. required: false schema: type: string enum: - 'Y' - 'N' isResultRequiredParam: name: is_result_required in: query description: Filter on the menu items that have a service result. required: false schema: type: string enum: - 'Y' - 'N' isTempRequiredParam: name: is_temp_required in: query description: Filter on the menu items that require regular temperature monitoring. required: false schema: type: string enum: - 'Y' - 'N' bypassCacheParam: in: header name: bypass-cache description: This HTTP Header variable will bypass cache. schema: type: string enum: - 'true' - 'false' default: 'false' smokeParam: in: header name: smoke description: >- When set to 'true' this HTTP header variable will route the API call to the Integration testing environment. Only applicable in QA. schema: type: string default: false securitySchemes: apiKey: type: apiKey in: header name: apikey description: This HTTP Header variable will verify permissions. schemas: Error: type: object properties: code: type: string message: type: string required: - code - message service_menus: type: object properties: menu: type: array items: $ref: '#/components/schemas/menu' menu: type: object properties: location_id: type: integer description: 'Unique code for a Location, sourced by BIC or MDG' location_name: type: string description: Location descriptive name location: type: string description: 'Unique code for a Location, sourced by MDG' service_area_id: type: integer description: >- Unique code for a Service Area, sourced by PRIMA and kept for backwards compatibility, will be DEPRECATED service_area_name: type: integer description: Service Area descriptive name service_menu_id: type: integer description: Unique ID of Service Menu service_date: type: string description: Calendar date of service in 'MM/DD/YYYY' format meal_period_id: type: integer meal_period_name: type: string sub_locations: type: array items: $ref: '#/components/schemas/sub_locations' sub_locations: type: object properties: sub_location_id: type: integer description: 'Unique code for a Sub Location, sourced by PRIMA or MDG' sub_location_name: type: string description: Sub Location descriptive name sub_location: type: string description: 'Unique code for a Sub Location, sourced by MDG' menu_items: type: array items: $ref: '#/components/schemas/menu_items' menu_items: type: object properties: service_menu_item_id: type: integer description: Unique ID of Service Menu Item master_system_id: type: integer recipe_id: type: string description: >- PRIMA Recipe ID, required master_system_id and recipe_id for uniqueness. recipe_name: type: string description: PRIMA Recipe name of Menu Items recipe_marketing_name: type: string description: PRIMA Recipe marketing name of Menu Items recipe_short_name: type: string description: 'Alternate name used for Recipe, driven by Marketing or Operations' production_area_id: type: string description: Unique ID of the Production Area production_area_name: type: string description: Production Area descriptive name is_mto: type: string description: Is item made to order? 'Y' indicates it is. is_temp_required: type: string description: >- Is regular temperature monitoring required for this item? 'Y' indicates it is. serving_size_uom_id: type: string serving_size_number: type: integer description: Portion Size (integer portion) serving_size_description: type: string description: Portion Size Unit of Measure Description serving_size_fraction_id: type: string serving_size_fraction_description: type: string description: Portion Size Fraction Description serving_size_display: type: string description: Serving Size Description food_cost: type: number description: Local food cost of item acceptability_factor: type: number description: Forecast percentage per patron planned_count: type: number description: Planned number of portions per service period prep_count: type: number description: Actual prepared portions on_hand_count: type: number description: Number of portions reused for service sold_count: type: number description: Number of portions sold leftover_count: type: number waste_count: type: number description: Number of portions wasted is_result_required: type: string description: Y indicates the menu item requires a service result. smi_row_no: type: number description: SMI Number comments: type: string description: Menu Item Comments service_items: type: object properties: location_id: type: integer description: 'Unique code for a Location, sourced by BIC or MDG' location_name: type: string description: Location descriptive name location: type: string description: 'Unique code for a Location, sourced by MDG' service_area_id: type: integer description: >- Unique code for a Service Area, sourced by PRIMA and kept for backwards compatibility, will be DEPRECATED service_area_name: type: integer description: Service Area descriptive name service_menu_id: type: integer description: Unique ID of Service Menu service_date: type: string description: Calendar date of service in 'MM/DD/YYYY' format meal_period_id: type: integer meal_period: type: string sub_location_id: type: integer description: 'Unique code for a Sub Location, sourced by PRIMA or MDG' sub_location_name: type: string description: Sub Location descriptive name sub_location: type: string description: 'Unique code for a Sub Location, sourced by MDG' service_menu_item_id: type: integer description: Unique ID of Service Menu Item master_system_id: type: integer recipe_id: type: string description: >- PRIMA Recipe ID, required master_system_id and recipe_id for uniqueness. recipe_name: type: string description: PRIMA Recipe name of Menu Items recipe_marketing_name: type: string description: PRIMA Recipe marketing name of Menu Items recipe_short_name: type: string description: 'Alternate name used for Recipe, driven by Marketing or Operations' production_area_id: type: string description: Unique ID of the Production Area production_area_name: type: string description: Production Area descriptive name is_mto: type: string description: Is item made to order? 'Y' indicates it is. is_temp_required: type: string description: >- Is regular temperature monitoring required for this item? 'Y' indicates it is. serving_size_uom_id: type: string serving_size_number: type: integer description: Portion Size (integer portion) serving_size_description: type: string description: Portion Size Unit of Measure Description serving_size_fraction_id: type: string serving_size_fraction_description: type: string description: Portion Size Fraction Description serving_size_display: type: string description: Serving Size Description food_cost: type: number description: Local food cost of item acceptability_factor: type: number description: Forecast percentage per patron planned_count: type: number description: Planned number of portions per service period prep_count: type: number description: Actual prepared portions on_hand_count: type: number description: Number of portions reused for service sold_count: type: number description: Number of portions sold leftover_count: type: number waste_count: type: number description: Number of portions wasted is_result_required: type: string description: Y indicates the menu item requires a service result. smi_row_no: type: number description: SMI Number comments: type: string description: Menu Item Comments